Các câu hỏi về hàm SUMIF

Liên hệ QC
Mình đã dùng công thức rồi, tuy nhiên nếu copy công thức đó đến dòng thứ 60,000 thì File sẽ lớn gấp ba lần đó.
NVT

tedai đã viết:
Sao bạn không dùng công thức. Mình nghĩ công thức cũng đáp ứng được yêu cầu của bạn mà. Nhập công thức tại ô A2, rồi copy xuống
=B2&"."&C2&"."&E2

TDN
 
cám ơn bạn
Mình nghĩ vấn đề của mình đã được giải quyết.
Tuy nhiên
Có thể chèn thêm các đoạn mã khác vào đoạn mã này (nếu trong file của mình có các sự kiện cần cập nhật), phải không bạn?

minhlev đã viết:
Bạn thử dùng code dưới đây xem (cái này mới học được ở trên GPE đấy, hay ra phết).
Mã:
Sub worksheet_change(ByVal target As Range)
If target.Column >= 2 And target.Column <= 3 And target.Row > 1 Then
    If Cells(target.Row, 3) <> "" And Cells(target.Row, 3) <> Cells(target.Row - 1, 3) Then
        Cells(target.Row, 5) = 1
    Else: Cells(target.Row, 5) = Cells(target.Row - 1, 5) + 1
    End If
Cells(target.Row, 1) = Format(Cells(target.Row, 2), "#####") & "." & Cells(target.Row, 3) & "." & Cells(target.Row, 5)
End If
End Sub
 
Gởi Truong.japfa
Cách của Voda và Minhlev, mình đều thấy hay cả. Nhưng theo mình thì chọn cách của Voda. Vì khi tuy duyệt hết các dòng dữ liệu nhưng chỉ duyệt 1 lần, không mất bao nhiêu thời gian đâu. Còn sử dụng WorkSheet_Change không khéo sẽ khiến việc nhập liệu chậm đi đấy. Vì sự kiện này sẽ làm việc khi có sự thay đổi ở bất kỳ ô nào trên Sheet...

TDN
 
Có rất nhiều cách để bạn giải quyết vấn đề:
-Đơn giản nhất là dùng hàm. Nhưng nếu với khối lượng dữ liệu quá lớn sẽ làm dung lượng file tăng đáng kể.
-Đây là đoạn code chỉ tạo mã với dữ liệu mới nhập để bạn tuỳ nghi sử dụng:
Sub taoma()
Dim ARow, BRow, iRow As Integer
ARow = Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
BRow = Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row - 1
For iRow = ARow To BRow
Cells(iRow, 1) = Format(Cells(iRow, 2), "#####") & "." & Cells(iRow, 3) & "." & Cells(iRow, 5)
Next
Cells(1, 1).Select
End Sub
 
Phiền bạn một chút nữa nhé

Cám ơn bạn đã trợ giúp
Đoạn mã của bạn rất hay, nó tự động chuyển mã cả hai cột A và E,
Tuy nhiên nó chỉ có tác dụng khi nhập ngày tháng vào cột B và Enter.
Nếu copy dòng trên xuống dòng dưới nó sẽ không chạy.
Làm thế nào khắc phục lỗi này thì rất tuyệt (đối với mình)

Thân ái
NVT
minhlev đã viết:
Bạn thử dùng code dưới đây xem (cái này mới học được ở trên GPE đấy, hay ra phết).
Mã:
Sub worksheet_change(ByVal target As Range)
If target.Column >= 2 And target.Column <= 3 And target.Row > 1 Then
    If Cells(target.Row, 3) <> "" And Cells(target.Row, 3) <> Cells(target.Row - 1, 3) Then
        Cells(target.Row, 5) = 1
    Else: Cells(target.Row, 5) = Cells(target.Row - 1, 5) + 1
    End If
Cells(target.Row, 1) = Format(Cells(target.Row, 2), "#####") & "." & Cells(target.Row, 3) & "." & Cells(target.Row, 5)
End If
End Sub
 
Theo tôi khi copy từ dòng trên xuống dòng dưới bạn có thể chỉ chọn từ cột B của dòng trên trở đi. Tuy nhiên, bạn có thể dùng code sau. Tôi đã chỉnh lại 1 chút ở dòng code thứ 2 (thay ...>= 2 thành ...>= 1)
Mã:
[LEFT]Sub worksheet_change(ByVal target As Range)
If target.Column >= 1 And target.Column <= 3 And target.Row > 1 Then
  If Cells(target.Row, 3) <> "" And Cells(target.Row, 3) <> Cells Then
....
End If
End Sub[/LEFT]
 
Đoạn code này chạy xong thì Excel cũng đóng luôn bác ơi
Em đã chạy thử rồi, bác xem lại đi.
Tại sao thế nhỉ?
 
Không biết ở máy của bạn thế nào, chứ tôi thử ở máy của tôi thì vẫn OK.
 
làm chỉ em tính hàm sumif cần điều kiện như thế nào các bạn cho mình ví dụ cụ thể mình mới học excel thôi mình chỉ học lớp mầm mà!--=0
 
Bạn nên tìm kỹ trên diễn đàn đi, có rất nhiều bài học từ cơ bản đến nâng cao. Có cả những file tài liệu rất hay nữa. Chắc chắn là sẽ có ích cho bạn. Ví dụ:
http://www.giaiphapexcel.com/forum/showthread.php?t=362
http://www.giaiphapexcel.com/forum/forumdisplay.php?f=7

Nếu thích thì bạn có thể xem thêm hàm SUMPRODUCT - tính tổng nhiều điều kiện (cái này mình cũng mới biết chút chút nhờ học trên 4R này):
http://www.giaiphapexcel.com/forum/showthread.php?t=59
 
Lần chỉnh sửa cuối:
Có lẻ bạn đang gặp phải vấn đề gì đó với SUMIF... Thật ra cũng ko khó lắm đâu...Nếu có bài tập nào đó thì bạn gữi lên, mọi người vừa giãi vừa hướng dẫn, như thế sẽ trực quan bà dễ hiểu hơn
 
kienthuc2007 đã viết:
làm chỉ em tính hàm sumif cần điều kiện như thế nào các bạn cho mình ví dụ cụ thể mình mới học excel thôi mình chỉ học lớp mầm mà!--=0

Bạn chịu khó đọc trên 4R có rất nhiều bài hay đấy, trong phần Ex với công thức. Gửi bạn một ví dụ về SUMIF để bạn hình dung và dễ tham khảo
 

File đính kèm

  • Ham Sumif.xls
    13.5 KB · Đọc: 1,355
Công thức nào như SUMIF nhưng chỉ lấy 1 đáp số thôi?

Các bạn giúp dùm cho trong file ví dụ nhé. Cám ơn!
 

File đính kèm

  • FileVD.xls
    22 KB · Đọc: 72
Kết hợp thêm if(countif($E$7:$E7,$E7)=1,SUMIF($E$7:$E$21,E7,$F$7:$F$21),"")
 
Tôi đang gặp khó chút như file nầy, nhờ cao kiến các bạn!
Thân!
 

File đính kèm

  • FileVD2.xls
    22 KB · Đọc: 29
Bạn ra đề mình chưa hiểu lắm, ví dụ của bạn, số 15 (Đáp số duy nhất ???)chẳng phải đang nằm cùng hàng với "A" luôn chứ ở đâu?

các cặp
a,5
a,5
a,5,15
a,0

nếu đổi thành

a,3,3
a,3
a,5,15
a,5

thì bạn cần lấy cái gì?
 
Lần chỉnh sửa cuối:
...Là ví vụ Tên "A" nằm ở 5 hàng riêng biệt và gồm có bốn số 5 nằm ở hàng cạnh bên, mình muốn lọc lấy ra đáp số theo tự định là 15 thôi, thì đáp số đó nằm ở hàng thứ 3 của tên "A". Nếu số 5 đổi lại là 3 thì đáp số sẽ nằm ở hảng thứ 5 của tên "A" đó bạn.
 
Tôi cần một hàn SUM cho kết quả lên trên vùng đã chọn, bạn nào biết xin chỉ dùm nhé! Cảm ơn trước nhiều nhiều!
 
Status Bar

nguyentuhp đã viết:
Tôi cần một hàn SUM cho kết quả lên trên vùng đã chọn, bạn nào biết xin chỉ dùm nhé! Cảm ơn trước nhiều nhiều!

Bạn muốn xuất kết quả đi đâu? lên màn hình (trong một câu thông báo), hay vào một ô trong bảng tính?

có một cách đơn giản là khi bạn chọn một vùng, thì excel sẽ tự động hiện Sum của vùng đang chọn, bạn để ý ở phía dưới đáy màn hình Excel có thanh toolbar tên là Status Bar (vào menu Tools/Option/View chọn ô Status bar để ẩn/hiện thanh này), bên phải của nó sẽ hiện một số thông tin như Average/Min/Max/Count/Count nums/Sum ... (nếu chưa có thì bạn click chuột phải vào nó, chọn thông tin cần hiển thị)

Bạn chọn Sum thì sẽ xem được tổng của vùng bạn đang chọn trong bảng tính.
Thân.
 
Web KT
Back
Top Bottom