Các câu hỏi về hàm SUMIF (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

ngovietct

Thành viên mới
Tham gia
27/12/06
Bài viết
20
Được thích
1
Hàm sumif chỉ cho sử dụng sum theo một điều kiện. Các bạn có cách nào mình sum với nhiều điều kiện không. VD: Sum cột F với điều kiện Cột A = X và cột B = Y và cột C = Z .....

Cám ơn các chiến hữu trước!
 
Trong bài trước tôi đưa hàm sumproduct, hàm này là dùng để cộng nhiều dk, còn vận dụng để đếm...
File của bạn có nhiều vấn đề:
- CT tháng tại 2 sh không cùng format
- VD: Thay vì SUMPRODUCT((KENH1="THUONG MAI")*(THANG1=$R$2)*(TINH1=E$4)*(VATDUNG1=$C42)*SL1)
bạn lại dùng (TINH1="Ha Noi") nếu mà sai chính tả thì không tính được.
và các cột K5:K1000, C5...,G5..., L5...,... nên đặt tên vì hàm sumproduct yêu cầu các mảng phải cùng độ dài kích thước.
Bạn xem lại file tôi có tham gia 1 phần còn bạn hòan thiện nhé!
Chúc thành công, có quà khuyến mại nhớ tặng nhé, chỗ nào cũng đi nhận, nhớ báo cho MrHieu nữa!
 
Lần chỉnh sửa cuối:
Vì có quà (nhờ ThuNghi nói giùm) nên mình cũng phải bắt tay vào giải bài này vậy. hic hic hic.
 
Cam on bo nhieu lam, nhung noi thiet la minh hơi dở Excel.
Bạn cho mình hỏi là làm sao nếu ô không có dữ liệu lại ko hiện gì hết, còn nếu có dữ liệu thì mới chạy vậy?? Thêm nữa, Sheet 1 bạn tao thêm thìtạo các dữ liệu đó như thế nào vậy, mình hoàn toàn kông biết cái này rùi, bạn có thể chỉ mình một cách dễ hiểu kông, hoặc cho link tài liệu để ngâm cứu cũng được.
Thông cảm nha, mình hơi yêu sắt... yếu....hi...hii

Thank bồ. Nếu có dịp mình sẽ đa tạ thôi. các bạn cứ cung cấp thông tin cá nhân đi nếu được khi có quà KM mình gửi cho!

Xin loi, Sheet 6 chứ không phải Sheet 1. Mình điều kiện cho sheet 6 được không. Tai mình cũng muốn mở rông cho Sheet Baocao cột Tổng Tiền. Vì một số mặt hàng không có đơn giá để nhân ra. Hiện tại nhập những mặt hàng ko có đơn giá thì nhập nguyên giá do đó giá sẽ khacs nhau. Mình muốn tính tổng luôn cột này luôn. Ráng giúp thì ho chót nhé.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Hàm Sumif()???

Các bạn ơi làm ơn giúp dùm với.
 

File đính kèm

Can giup do tim loi sai!

Hi cac ban,
Toi dang lam bai tap va co tham khao 2 cach giai nhung khi ap dung vao bai cua minh thi lai khong duoc. Toi khong hieu minh sai cho nao. Mong cac ban chi giup. Toi dang can gap.
Thanks.

Hi, xin loi nhe
Minh gui bai ngay day. Giup minh voi nhe.
Thanks.

________________

Tên đề bài và nội dung bài gửi cần rõ ràng hơn. Khi viết bài bạn nhớ gõ dấu tiếng việt nha. Bạn xem hướng dẫn chi tiết tại đây , tại đây và tại đây .
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Bạn vào Thư viện tìm bài giải nha.

P/S: cùng một nội dung câu hỏi, bạn không nên post 2 topic khác nhau. Xem hướng dẫn ở bên dưới ngay tại bài #1 của bạn nha!.
 
cuncon2006 đã viết:
Xin loi nhe.
Toi moi tham gia dien dan nen quen mat. Toi da doc tra loi cua ban. Cach giai toi da tham khao tren dien dan nhung khi lam lai khong duoc. Mong ban chi ro toi sai o dau???
Thanks.

Công thức của bạn :

=SUM(IF(C7:C16=$B28,IF(A7:A16=VALUE(RIGHT(C$27,1)),F7:F16,0),0))

Công thức bài giải:

={SUM(IF((MONTH($A$7:$A$16)=VALUE(RIGHT(C$27)))*($C$7:$C$16=$B28),$F$7:$F$16,0))} (sau khi gõ công thức bạn nhấn Ctrl+shift+Enter)

Bạn so sánh hai công thức nha. Mình đã nói bạn vào thư viện tìm, bạn lại không tìm?. Bài giải đã có ở thư viện.

P/S: nhớ gõ bài tiếng việt có dấu nha bạn!.
 
Thanks. Nhờ bạn chỉ giùm thêm một chút nữa là tại sao lại ấn Ctrl+shift+Enter mà không phải là Enter. Bài nào cũng phải ấn tổ hợp 3 phím này hay chỉ mỗi dạng bài này thôi.
 
cuncon2006 đã viết:
Thanks. Nhờ bạn chỉ giùm thêm một chút nữa là tại sao lại ấn Ctrl+shift+Enter mà không phải là Enter. Bài nào cũng phải ấn tổ hợp 3 phím này hay chỉ mỗi dạng bài này thôi.

Bạn xem bài Tìm hiểu về mảng và công thức mảng và bài SUMPRODUCT và Công thức mảng - Phép tính có nhiều điều kiện nha.

Tham khảo: Danh Mục các bài viết hay trên diễn đàn
 
Lần chỉnh sửa cuối:
Tủy chuyện mà dùng công thức mãng chứ, ai biểu bạn tự làm khó mình chi... Hiii... Nếu bạn ko thích cái vụ Ctrl+Shift+Enter thì dùng SUMPRODUCT đi. Tại cell C28, gõ vào công thức:
=SUMPRODUCT((MONTH($A$7:$A$16)=VALUE(RIGHT(C$28)))*($C$7:$C$16=$B29)*($E$7:$E$16))
Rồi kéo fill xuống các cell còn lại
ANH TUẤN
 
Xin viết giúp cho một công thức trong VBA

Nếu như trong Sheet1 dãy cột H4 tôi có công thức sau: =SUMIF($B$4:$B$30,G4,$C$4:$C$30)
Vậy phải viết công thức đó trong trong code thế nào? xin các bạn giúp dùm cho.
 
Lần chỉnh sửa cuối:
Công thức đó viết trong code như sau:
Sheet1.Range("H4") = "=SUMIF($B$4:$B$30,G4,$C$4:$C$30)"
 
Chào bạn
Đây là một cách khác (hơi khó coi tí) hi hi
Range("H5").FormulaR1C1 = "=SUMIF(R4C2:R30C2,RC[-1],R4C3:R30C3)"
TDN
 
Cám ơn! - Xin giúp thêm, như cách trên thì chỉ được công thức trong một cells H4, giúp tôi làm sao để mổi khi nhập một tên nào đó vào cột G5 thì cột H5 vẩn có một công thức là =SUMIF($B$4:$B$30,G5,$C$4:$C$30) tương ứng.
 
thanhtam348 đã viết:
Cám ơn! - Xin giúp thêm, như cách trên thì chỉ được công thức trong một cells H4, giúp tôi làm sao để mổi khi nhập một tên nào đó vào cột G5 thì cột H5 vẩn có một công thức là =SUMIF($B$4:$B$30,G5,$C$4:$C$30) tương ứng.
Có 2 cách để thực hiện :
1/ Dùng VBA : Worksheet_change()
2/ Không dùng VBA, cái này đơn giản, nhanh, hiệu quả (theo nhận xét riêng mình. Hi hi)
+ Bạn nhập công thức vào ô H4
+ Tô khối 2 ô G5:H5 rồi nhấn Ctrl-d
+ Tô khối 2 ô G6:H6 rồi nhấn Ctrl-d
+ Tô khối 2 ô G7:H7 rồi nhấn Ctrl-d
+ Bây giờ bạn có thể nhập dữ liệu vào cột G thì cột H tự động điền công thức tương ứng
Chúc bạn thành công.

TDN
 
Cám ơn bạn, vậy còn dùng VBA thì phải làm sao?
 
thanhtam348 đã viết:
Cám ơn bạn, vậy còn dùng VBA thì phải làm sao?
Dùng VBA thì như sau :
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Then Range("H" & Target.Row) = "=SUMIF($B$4:$B$30,G" & Target.Row & " ,$C$4:$C$30)"
End Sub
TDN
 
tedaynui đã viết:
Dùng VBA thì như sau :
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Then Range("H" & Target.Row) = "=SUMIF($B$4:$B$30,G" & Target.Row & " ,$C$4:$C$30)"
End Sub
TDN

Sao không là :
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Then Range("H" & Target.Row).Value = WorksheetFunction.SumIf(Range("B4:B30"), Range("G" & Target.Row), Range("C4:C30"))
End Sub

Thân!
 
Gởi Hiếu
Thoạt đầu mình cũng theo cách của Hiếu nhưng sau lại thôi vì trong công thức có bảng dò tìm. Nếu sau này ThanhTam có thay đổi giá trị nào đó trong bảng thì kết quả sẽ không còn chính xác nữa.

Thân !
 
Tôi chả hiểu tại sao hàm sumif của MS quá chuẩn rồi mà thanhtam lại cần VBA làm gì. MỘt lần công thức và copy là xong.
 
Ha ha, ừ nhỉ. Chỉ 1 lần copy công thức là xong, tội gì dùng đủ thứ. Hi hi
 
ThuNghi đã viết:
Tôi chả hiểu tại sao hàm sumif của MS quá chuẩn rồi mà thanhtam lại cần VBA làm gì. MỘt lần công thức và copy là xong.
các bạn nói phải, nghĩ thoáng qua có thể mình hỏi ngớ thật, nhưng trong trường hợp của mình không hiểu sao làm 1 bảng tính nặng máy ghê nên mình nghĩ nhờ VBA cho nhẹ bớt, và vì cột công thức đó tôi Hide nên mổi lần muốn copy phải Unhide bất tiện.
 
Lần chỉnh sửa cuối:
1':
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 7 Then Range("H" & Target.Row).Value = WorksheetFunction.SumIf(Range("B4:B30"), Range("G" & Target.Row), Range("C4:C30"))
End Sub
Mã:
2':
[B]Private Sub Worksheet_Change(ByVal Target As Range)[/B]
 If Target.Column = 7 Then Range("H" & Target.Row) = "=SUMIF($B$4:$B$30,G" & Target.Row & " ,$C$4:$C$30)"
[B]End Sub[/B]
/)/(ình xin hỏi các bạn một khía cạnh khác nữa: Tốc độ thực thi:
Nếu dùng phương thức Intersect có nhanh hơn không vậy?:
Mã:
[B]Private Sub Worksheet_Change(ByVal Target As Range)[/B]
 If not Intersect(Target, Range("G:G")) Is Nothing then  Range("H" & Target.Row) = "=SUMIF($B$4:$B$30,G" & Target.Row & " ,$C$4:$C$30)"
[B]End Sub[/B]
 
Viết Code tự động tính toán

Các bác kính mến.
Em chưa hiểu biết gì về VBA ,
EM cần các bác giúp viết một đoạn Code tự động tính toán khi nhập liệu
Yêu cầu rất đơn giản: Khi nhập dữ liệu vào cột A và cột B thì cột C sẽ tự động điền kết quả phép nhân A*B vào.
Các bác Xem file đính kèm nhé
 

File đính kèm

truong.japfa đã viết:
EM cần các bác giúp viết một đoạn Code tự động tính toán khi nhập liệu
Yêu cầu rất đơn giản: Khi nhập dữ liệu vào cột A và cột B thì cột C sẽ tự động điền kết quả phép nhân A*B vào.
Chào bạn
Bạn có thể sử dụng đoạn code này cho yêu cầu của mình, có bẫy lỗi khi dữ liệu nhập vào không phải Nuber thì cột C là "data error"
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Thoat
If Target.Column > 2 Then Exit Sub
Cells(Target.Row, 3).Value = Cells(Target.Row, 1).Value * Cells(Target.Row, 2).Value
Exit Sub
Thoat:
Cells(Target.Row, 3).Value = "data error"
End Sub
TDN
 
Cách dùng Worksheet_Change

tedaynui đã viết:
Chào bạn
Bạn có thể sử dụng đoạn code này cho yêu cầu của mình, có bẫy lỗi khi dữ liệu nhập vào không phải Nuber thì cột C là "data error"
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Thoat
If Target.Column > 2 Then Exit Sub
Cells(Target.Row, 3).Value = Cells(Target.Row, 1).Value * Cells(Target.Row, 2).Value
Exit Sub
Thoat:
Cells(Target.Row, 3).Value = "data error"
End Sub
TDN

Worksheet_Change là sự kiện được chạy khi có sự thay đổi về giá trị trên các ô, trong VBA khi ta gán thuộc tính Value=... Chính vì thế nếu trong sự kiện này mà gán Value =.... là chúng ta đã buộc Excel chạy sự kiện Worksheet_Change liên tục nhiêù lần cho một vấn đề. Tôi thường làm theo một nguyên tắc an toàn sau:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Goto Done:
Dim bEvt As Boolean
bEvt = Application.EnableEvents ' Lưu trang thái trước
Application.EnableEvents = False 'Ngưng hoạt động của các sự kiện
....
....Value=....

...

Done:
Application.EnableEvents = bEvt ' Hoàn trả trạng thái cũ

End Sub
 
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Goto Done:
Dim bEvt As Boolean
bEvt = Application.EnableEvents ' Lưu trang thái trước
Application.EnableEvents = False 'Ngưng hoạt động của các sự kiện
....
....Value=....

...

Done:
Application.EnableEvents = bEvt ' Hoàn trả trạng thái cũ

End Sub

Cái này thì đúng quá rồi. Đơn giản thì không sao, hơi phức tạp thêm một chút là có vấn đề ngay

Giải pháp dùng Combobox thay Validation là một VD.

Cảm ơn bác nhiều.
 
TuanVNUNI đã viết:
Worksheet_Change là sự kiện được chạy khi có sự thay đổi về giá trị trên các ô, trong VBA khi ta gán thuộc tính Value=... Chính vì thế nếu trong sự kiện này mà gán Value =.... là chúng ta đã buộc Excel chạy sự kiện Worksheet_Change liên tục nhiêù lần cho một vấn đề. Tôi thường làm theo một nguyên tắc an toàn sau:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Goto Done:
Dim bEvt As Boolean
bEvt = Application.EnableEvents ' Lưu trang thái trước
Application.EnableEvents = False 'Ngưng hoạt động của các sự kiện
....
....Value=....

...

Done:
Application.EnableEvents = bEvt ' Hoàn trả trạng thái cũ

End Sub
Chào Anh
Em vẫn biết trong những trường hợp thế này hoặc tương tự thì bảng tính sẽ làm việc liên tục --> bảng tính chậm hẳn. Nhưng vẫn không biết khắc phục thế nào. Giờ thì đã hiểu rõ hơn.
Cảm ơn Anh Tuân rất nhiều !

Thân!
 
Sao không viết giùm 1 đaọn code hoàn chỉnh luôn đi.
cách của TuanVNUNI + của tedaynui sẽ cho ra đoạn code thế nào.
Thông cảm nha, minh dở excel mà.

Thân chào
 
Thêm một kiểu đánh số TT và chuyển mã tự động

Cám ơn các bác đã trợ giúp cho em.
Em có một vấn đề nữa lại phiền các bác chỉ giáo đây.
Các bác xem file đính kèm hộ em nhé.
NVT
 

File đính kèm

truong.japfa đã viết:
Cám ơn các bác đã trợ giúp cho em.
Em có một vấn đề nữa lại phiền các bác chỉ giáo đây.
Các bác xem file đính kèm hộ em nhé.
NVT
Bạn có thể nhập công thức này vào ô A2, sau đó copy xuống
=IF(B2="","",COUNTA($B$2:B2))

TDN
 
Tự động nhập số TT theo DK

Chào bác
Không được mà bác, nó sẽ đánh số TT từ 1 đến bất kỳ.
Vấn đề ở đây là em cần đánh số TT theo DK sau:
1. Một Hóa đơn có thể có từ 1 đến tối đa 13 dòng trong đó thôi, nên cột E chỉ được đánh số từ 1 đến 13 và nếu hóa đơn có 1 mục thì chỉ đánh số 1, hóa đơn có 2 mục thì đánh số 2, ......, . Nếu HD có 13 mục thì đánh số đến 13.
2. Khi chuyển sang HD mới (số HD) ở cột C, thì quay lại đánh số 1, ....
3. Cột A đánh số theo ngày tháng, số HD và số mục trên HD đó. Ví dụ: Hóa đơn ngày 20/08/2007 có 2 hóa đơn là 15 và 16, trong HD số 15 sẽ có 13 mục hàng, số HD 16 chỉ có 1 mục hàng, cột A cần phân biệt thành:
39314.15.1,39314.15.2,39314.15.3,......, 39314.15.13
(Ở đây 39314 là ngày 20/08/07 ở dạng số), 15 là số HD 15, sau đó 1,2,...13 là các mục trong HD số 15.
Sang HD số 16 nó sẽ đánh số khác thành: 39314.16.1.
Yêu cầu của em có thể hơi rắc rối một chút.
Nhờ bác viết code dùm để không cần copy các công thức nữa
Chào bác
 
Bạn viêt thêm 1 hàm if vào nữa. Cụ thể ở ô A3 như sau:
=if(and(B3<>"",A2=13),1,if(B3="","",B2+1))
Tuy nhiên công thức này chỉ đánh số đúng khi các ô ở cột B là liên tục, không có ô trống xen giữa 2 ô có ký tự.
 
Chào bạn
Mình không rành mấy cái hoá đơn này lắm nên đọc thấy như đám rừng. Nhưng hiểu sau làm vậy. Bạn nhập công thức sau vào ô E2, sau đó copy xuống. Mong rằng được như ý bạn
=IF(OR(C2="",F2=""),"",COUNTIF($C$2:C2,C2))

TDN
 
Lần chỉnh sửa cuối:
Sau khi đánh số thứ tự ở cột E, bạn có thể dùng đoạn code sau để tạo mã ở cột A:
Sub taoma()
Dim iRow As Integer
For iRow = 2 To Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row - 1
Cells(iRow, 1) = Format(Cells(iRow, 2), "#####") & "." & Cells(iRow, 3) & "." & Cells(iRow, 5)
Next
Cells(1, 1).Select
End Sub
 
tạo mã với dữ liệu mới thôi

Cám ơn bác
Tuy nhiên bác chỉ giùm làm thế nào để nó chỉ tạo mã những dữ liệu vừa nhập vào?
Nếu không nó sẽ tính toán lại toàn bộ dữ liệu, sẽ tốn phí thời gian bác ạ!
NVT
 
truong.japfa đã viết:
Cám ơn bác
Tuy nhiên bác chỉ giùm làm thế nào để nó chỉ tạo mã những dữ liệu vừa nhập vào?
Nếu không nó sẽ tính toán lại toàn bộ dữ liệu, sẽ tốn phí thời gian bác ạ!
NVT
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
 
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
 
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

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

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

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.
 
Bạn thử ct sau:
G7=IF(SUMIF($E$7:$E7,$E7,$F$7:$F7)=15,15,"")
 
Cac Pac oi em cung dang mac phai van de nhu nguoivietct. Em dang lam voi SumIF nhung voi nhieu dieu kien (trong cac o co dinh.)
VD: =SUMIF(General!$R$2:$R$645,Control!C16,General!$G$2:$G$645)
General!$R$2:$R$645 : Ten nguoi thu huong
General!$G$2:$G$645): So tien duoc thu huong
Control!C16 : O Sheet khac, dieu kien ma em can la tra cuu theo ngay thang, quy va nam cho tung nguoi thu huong theo ngay thang nam, quy
 
Nếu có thêm 1 điều kiện nữa thì nên làm bằng SUMPRODUCT hoặc như bạn đang xài Excel2007 thì có SUMIFS cũng có chức năng gần tương tự...
Nhưng mà cũng khó hình dung nếu như ko nhìn thấy file của bạn... Bạn post lên 1 vài dử liệu (ko cần nguyên file) có phải là dể hướng dẩn hơn ko?
ANH TUẤN
 
Giúp em tính hàm sumif với bảng tính này với.

Mong các anh chị giúp đỡ.
Thank you !!
 
Lần chỉnh sửa cuối:
Hãy dùng SUMPRODUCT().
 
Làm vầy nè bạn ơi, nhu chibi nói, là SUMPRODUCT
Xem file nhé
ANH TUẤN
 

File đính kèm

Híc híc Cám ơn các pac nhìu ^ ^!
 
Chỉnh sửa lần cuối bởi điều hành viên:
Kiểm tra hàm Sumif

Chào các a/c!
Em có dùng công thức excel để làm sổ sách, nhưng em ko hiểu lý do gì mà khi em dùng hàm sumif, từ sheet tập hợp dữ liệu KT sang sheet bảng CĐSPS thì số PS bị thiếu một số bút toán trong phần phát sinh trong kỳ của TK156, nhưng số dư CK thì lại đúng như trên bảng tổng hợp chi tiết tài khoản, trong khi đó ở bảng tổng hợp chi tiết tài khoản thì lại chạy ra đủ hết.
Mong các a/c chỉ giúp em.
 
Bạn hỏi vậy thì làm sao trả lời là bạn đúng hay sai? Bạn gửi file có một ít dữ liệu lên, mọi người giúp cho
 
HL7882 đã viết:
Chào các a/c!
Em có dùng công thức excel để làm sổ sách, nhưng em ko hiểu lý do gì mà khi em dùng hàm sumif, từ sheet tập hợp dữ liệu KT sang sheet bảng CĐSPS thì số PS bị thiếu một số bút toán trong phần phát sinh trong kỳ của TK156, nhưng số dư CK thì lại đúng như trên bảng tổng hợp chi tiết tài khoản, trong khi đó ở bảng tổng hợp chi tiết tài khoản thì lại chạy ra đủ hết.
Mong các a/c chỉ giúp em.

Hãy kiểm tra lại tài khoản, vì tài khoản thể hiện lúc là số, lúc là ký tự nên phải cẩn thận trong khi hạch toán.
Vì vậy các hàm tổng hợp hay bị sai.

Thân!
 
HL7882 đã viết:
Chào các a/c!
Em có dùng công thức excel để làm sổ sách, nhưng em ko hiểu lý do gì mà khi em dùng hàm sumif, từ sheet tập hợp dữ liệu KT sang sheet bảng CĐSPS thì số PS bị thiếu một số bút toán trong phần phát sinh trong kỳ của TK156, nhưng số dư CK thì lại đúng như trên bảng tổng hợp chi tiết tài khoản, trong khi đó ở bảng tổng hợp chi tiết tài khoản thì lại chạy ra đủ hết.
Mong các a/c chỉ giúp em.
Câu hỏi của bạn thật ấn tượng....Sorry, Chả hiểu gì hết+-+-+-+
Hãy kiểm tra lại như ông Bắp nói. Vì chỉ có một tài khoản thì cũng dễ thôi (chứ có chừng 20 tài khoản thì bạn vẫn phải làm thủ công thôi hà), bạn có thể dùng hàm vlookup(..) để kiểm tra mã tài khoản được format có giống nhau hay không. Tốt nhất là bạn nên chọn kiểu text.
Tốt hơn hết là bạn up file lên diễn đàn, ông Bắp kiểm tra lỗi giúp bạn nhé.
Nếu không biết gởi lên diễn đàn, bạn có thể gởi mail: tsf264@gmail.com; gởi lên cho bạn.
 
Hỏi về hàm Sumif

Hello các bạn.!!!

Teru gửi cho các bạn file đính kèm....Trong đó Teru đã làm hết tất cả......trong đó có hai cái bảng nhỏ cuối cùng bên tay trái , Teru có tô vàng đánh dấu là BANG 1 & BANG 2.
BANG 1 Teru tính ra kết quả đúng.......và BANG 2 Teru tính ra kết quả sai......mặc dù Teru dùng hàm cho cả hai bảng là tương tự nhau đó là Hàm Sumif........but ko hiểu sao kết quả lại ra khác nhau...........Các bạn cho Teru biết là tại vì sao nhá!!!!!!!

Thanks các bạn nhìu.
Im waiting for ur reply^^
 

File đính kèm

B18=SUMIF($A$2:$A$11,A5,$F$2:$F$11) bạn phải =SUMIF($A$2:$A$11,A18,$F$2:$F$11)
Tại sao là A5, nếu kéo xuống B19 =>A6 sai.
 

File đính kèm

Bạn để ý phần đánh dấu đỏ của bác ThuNghi, Ngoài việc hiểu rõ chức năng của hàm, khi làm công thức cho 1 ô thì không sao, nhưng làm công thức cho một ô "đại diện" và dùng nó để copy cho các ô khác, bạn phải chú ý chỗ nào cần khóa (thêm dấu $) chỗ nào không cần khóa, khi kéo công thức cái gì sẽ thay đổi theo. Từ đó mới đưa ra công thức chuẩn cho ô đại diện được. Thân !
 
Hỏi về ký tự đại diện "*" trong công thức sumif?

Mình mới tham gia diễn đàn này, thấy nhiều điều rất bổ ích và hấp dẫn.
Mình có tập làm kế toán trên excel theo file mẫu KTEXCEL.xls, nhưng trên BCĐTK TK bậc trên không thể cộng gộp TK chi tiết. Trong công thức ví dụ: =SUMIF(TKGHINO;A7&"*";SOTIENPS) thì cho KQ không đúng.
=SUMIF(TKGHINO;"1111";SOTIENPS) thì cho KQ đúng....
Ý mình muốn hỏi ký tự đại diện "*" có trường hợp dùng thì cho KQ đúng, trường hợp khác lại sai (trong khi mình đã định dạng DL rất chuẩn).

Mình có gửi file kèm theo, rất mong mọi người chỉ giáo.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Thường là sai khi nó gặp dử liệu số... Bạn đễ ý thật kỹ: Số 1111 hoàn toàn khác với chử 1111
Nếu gặp số 1111 thì ký tự đại diện sẽ bó tay!
Vì thế trong trường hợp của bạn nên định dạng toàn bộ là TEXT thì tốt hơn!
 
Nếu vậy thì mình dùng kết hợp với hàm TEXT thì em nghĩ chắc là kết quả sẽ như ý.
 
Rất cảm ơn anhtuan1066, tedaynui ! mình đã định dạng tất cả là text và kiểm tra rồi nhưng vãn pó tai .... Nếu dùng kết hợp với hàm TEXT hoặc cách nào đó rất mong sự hỗ trợ của cả nhà GPE.

Chờ chỉ giáo của các cao thủ !
 
Mới gia nhập diễn đàn, cũng biết chút ít về hàm Sumif, xin đóng góp cho vui; nếu có gì không phải xin bỏ qua.
Hàm Sumif có 3 đối số là: Danh sách dò, trị dò, danh sách cộng.
Như vậy ký tự đại diện "*" nằm trong đối số trị đò (cả cụm A7&"*"), thật ra đó chính là dữ liệu phải có trong danh sách dò thì hàm mới "nhận" ra được.
Theo được hiểu A7&"*" là kết nối dữ liệu giữa ô A7 và *. Nếu ô A7 có dữ liệu là "Máy" thì A7&"*" là "Máy*"
Như vậy A7&"*" không có trong TKGHINO; còn "1111" thì có nên hàm cho kết quả
 
Thành thật với mọi người, tôi Upload mấy lần mà ko đưa được file cần đưa lên. Dung lượng .rar ~1,4 Mb. Có cách nào giúp tôi với bạn anhtuan1066 ? "Exceeds your quota by 390.9 KB":.,
 
Lần chỉnh sửa cuối:
Cái dấu "*" trong công thức đó hình như là những ký tự mở rộng sau của ô A7 VD: Ô A7 của bạn là 1111 trong công thức Sumif của bạn A7&"*" thì nó cộng tất cả các ô có 1111 và các ô có 1111 cùng với bất kỳ ký tự nào VD 111134.
 

File đính kèm

Lần chỉnh sửa cuối:
hanhdh072007 đã viết:
Đúng ! đúng rồi đó bạn SALAM, mà sao nó lại ko dc, tui buồn quá đi thui.
Bạn có cao kiến gì trong vụ này không ?
Bạn copy trong TKGHINO (ví dụ Cột E) phần có hiện 1111 và dán vào A7, sau đó tại A7 bạn bỏ đi 1 ký tự thành 111.
Bạn dùng lại thử hàm sumif xem sao. Hy vọng là OK, khi bạn nhập 1111 có khi nó hiểu là số, mặc dù sau đó bạn format lại là text.
Còn một cách nữa, là bạn dùng một cột phụ nào đó cột M và dùng hàm text(E2,"000"), sau đó copy dán giá trị vào lại cột M.
Chuyện này tôi cũng bị hoài.
 
Bạn SALAM nói như vậy là đúng rồi. Tuy nhiên, khi làm KT_EXCEL thì mình lại muốn để các TK như: 1561 - Giá mua HH; 1562 - Chi phí mua HH ... Khi lên BCĐKT cộng dồn vào TK 156 ... Nếu để 156A & 156B thì OK. Nhưng thực tế có nhiều TK để như vậy không tiện cho công việc.

Bạn TUANTHANH5291 có thể giúp mình được không ???
 
Sumif và countif nhiều sheet thì làm thế nào?

Các bác cho em hỏi. Em có bảng tính >10 sheet, cấu trúc giống nhau có 3 cột MA, SC và SL cột MA sheet có sheet không. nay em muốn tổng hợp vào một sheet11 bằng hàm countif cho cột SC và Sumif cho cột SL theo cột MA (Cột MA ở sheet11 có tất cả các mã ở các sheet). Các bác có cách nào giúp em với. Em dùng Sumif + Sumif+... trông công thức nó dài quá mà file chạy chậm luôn calculate % àhh.
 
Ở đây:
http://www.giaiphapexcel.com/forum/showthread.php?t=2787&page=3
Đã có giãi pháp cho SUMIF nhiều sheet rồi mà bạn! Ko áp dụng dc sao?

Công thức đó có 1 nhược điễm là tên sheet phải mặc định, thế mới có thể dựa vào chỉ số sheet mà suy ra dc có bao nhiêu sheet... Đành như thế... Cái này tôi đã hỏi trên diển đàn về công thức lấy Sheet CodeName, nhưng dc trã lời là ko có loại công thức đó
Nếu bạn vẫn nhất định ko thay đỗi tên sheet thì chắc phải dùng VBA thôi.. Món cộng và đếm xuyên qua các sheet bằng VBA hình như có rất nhiều trên diển đàn (lâu quá tôi ko nhớ nó nằm ở đâu)

Đúng là Bác Bill chữa đất sống cho các cao thủ VBA nhưng lại bắt những cao thủ cỡ như em thúc thủ rồi.

Ah... tôi gữi file này bạn tham khảo thử nha! Tôi vừa nghĩ ra 1 cách ko cần đỗi tên sheet... Có điều bạn phải tạo ra 1 list với các tên sheet trong 1 cột phụ..
Từ đây suy ra COUNTIF nhé... tương tự...
Xem file nhé:

ANH TUẤN
 

File đính kèm

Giãi pháp này tôi đưa lên đễ tham khảo thôi chứ nếu là tôi thì tôi sẽ chọn cách dễ và nhanh nhất, bằng cách đặt SUMIF hoặc COUNTIF tại từng sheet (chọn toàn bộ sheet rồi gõ công thức, rất nhanh).. Sau đó tại sheet tổng hợp tôi cộng kết quả của từng sheet (cũng chọn toàn bộ sheet rồi SUM.. cực cực nhanh)..
Giống cách 2 trong file này
ANH TUẤN
 

File đính kèm

Bác Tuấn ơi cách của Bác rất hay nhưng mà khi tên sheet có dấu cách thì #Ref# à nó làm sao vậy ta. Em phải chuyển dấu cách sang một ký tự lối nào đó mới được.
 
Uh... đây là cái rắc rối mà người dùng nên tránh:
-Tránh đặt tên sheet có dấu tiếng Việt
-Trách đặt tên sheet có khoảng trắng
Bạn đễ ý nếu tên sheet nằm trong 2 trường hợp trên thì khi gõ công thức nó sẽ có thêm 2 dấu nháy đầu và cuối tên sheet...
Vậy thì bạn chỉ cần thêm giống như file tôi đính kèm là dc rồi...
Giãi pháp thì có, nhưng nói chung tôi ko ũng hộ cách đặt tên sheet kiểu vậy! (giờ bạn đã nếm phải cái rắc rối cụ thể của nó rồi đấy)
Mến
ANH TUẤN
 

File đính kèm

Lần chỉnh sửa cuối:
Nhờ các bạn thiết lập công thức sumif có điều kiện giúp mình

Mình đang quảng lý 4 kho hàng ở 4 nơi khác nhau. để tiện cho việc báo cáo nhập xuất tồn được nhanh ở các kho. Mình sử dụng hàm sumif có điều kiện nhưng không thể thiết lập được, nhờ các bạn giúp mình thiết lập ct với. Trong bảng ễcl minh sẽ tạo 5 sheet: sheet 1: N-X: hàng ngày cập nhật chi tiết vào như mã hàng, Mã kho, số lượng nhập xuất. Sheet 2: KHO_A: thống kê tổng nhập xuất tồn theo từng mã hàng lấy dữ liệu từ sheet 1: tương tự là sheet KGHO_B, C, D.
mình muốn nếu nhập xuất thuộc kho nào thì sẽ trả kết quả về kho tương ứng với mã kho đã được nhập trong sheet chi tiết.
 

File đính kèm

Nhap xuat ton

Có phải ý của bạn là nhu thế này không?
 

File đính kèm

jacksameson đã viết:
Mình đang quảng lý 4 kho hàng ở 4 nơi khác nhau. để tiện cho việc báo cáo nhập xuất tồn được nhanh ở các kho. Mình sử dụng hàm sumif có điều kiện nhưng không thể thiết lập được, nhờ các bạn giúp mình thiết lập ct với. Trong bảng ễcl minh sẽ tạo 5 sheet: sheet 1: N-X: hàng ngày cập nhật chi tiết vào như mã hàng, Mã kho, số lượng nhập xuất. Sheet 2: KHO_A: thống kê tổng nhập xuất tồn theo từng mã hàng lấy dữ liệu từ sheet 1: tương tự là sheet KGHO_B, C, D.
mình muốn nếu nhập xuất thuộc kho nào thì sẽ trả kết quả về kho tương ứng với mã kho đã được nhập trong sheet chi tiết.
Khi làm file XNT mình khuyên bạn như sau :
- Trong sheet nhật ký nhập xuất bạn nên thêm cột tên hàng, để khi nhập vào mã hàng sẽ hiện ra tên hàng (dùng vlookup), nếu ko có thì nhiều khi bạn nhớ nhầm mã hàng này của mặt hàng khác thì nguy.
- Cột mã kho nên ghi rút gọn và dùng chức năng validation trong menu DATA để chọn mã kho đặt sẵn
- Không nên chia kho ra nhiều sheet mà nên gộp chúng vào một sheet để dễ thao tác và kiểm tra.
- Để tính tổng dữ liệu với nhiều điều kiện thì nên dùng hàm sumproduct hay Sum, VD như sau :

Sheet KHO_A, Ô F7 : {=SUM(($B7=MAHANG)*("A"=KHO)*(NHAP))}
Nhấn CTRL và SHIFT và ENTER sau khi gõ xong công thức
hay : =Sumproduct((B7=MAHANG)*("A"=KHO)*(NHAP))

Bạn xem file đính kèm

Và nếu muốn xem file mẫu về XNT thì vào link sau :
http://www.giaiphapexcel.com/forum/showthread.php?t=8577
 

File đính kèm

Chỉ giúp mình cách dùng Hàm SumIf có điều kiện

Các bạn thân mến,

Mình có 1 file này để tính số liệu. Mình muốn lấy số liệu từ Sheet Report để chuyển sang sheet PL và mình dùng Sumif, nhưng trong sheet Report nó có trường hợp 2 mã hàng cùng giá bán nhưng có 1 cái được giảm giá còn 1 cái thì không. Mình muốn cộng những sản phẩm nguyên giá đặt ở 1 cột còn những cái giảm giá đặt ở cột bên cạnh để phân biệt nhưng không biết cách làm. Nhờ các bạn giúp dùm mình nhé.

Mình đính kèm file để các bạn xem thử.

Cám ơn các bạn rất nhiều,
 

File đính kèm

Nếu trên hai điều kiện bạn nên dùng hàm sumproduct thay cho sumif.
Thân!
 

File đính kèm

Cám ơn bạn Salam nhiều. Mình đã thử và làm được rồi.
Chúc bạn vui !
 
Cách sử dụng hàm Sumif???????

Chào các bạn!
Rất mong các bạn giải thích cho tôi thắc mắc này.
Như vậy để sử dụng hàm sumif tính tiền trong bảng tổng hợp thì làm ntn?Nếu có cách khác thì làm ntn?
 

File đính kèm

Hàm SUMIF: SUMIF(vùng_chọn, điều_kiện, vùng_cộng)
Cụ thể với bài của bạn, công thức tại D18:G20 là (bạn chọn hết D18:G20, gõ công thức y như dưới đây, nhấn Ctrl-Enter)
SUMIF($C$7:$G$13, $B18, D$7:D$13)​
Ví dụ, tại F19, công thức trên sẽ là: SUMIF($C$7:$G$13, $B19, F$7:F$13)
Nghĩa là: Đi dò trong khối cell C7:G13, hễ thấy đứa nào giống cái ở B19 (Nha Trang) thì cộng hết những giá trị nằm cùng hàng với nó ở bên khối cell F7:F13, và kết quả là 100,000.

Nói thêm chút, cái bảng tính của bạn có vấn đề đấy.

Thứ nhất, những con số tiền ăn, tiền khách sạn, v.v... của bạn (kết quả của hàm VLOOKUP) toàn là text chứ không phải số, nên nó sẽ không cộng trừ chi được. Có nhiều cách giải quyết, nhưng lẹ nhất là bạn sửa công thức ở D7:G13, cho tụi nó nhân với 1 (= VLOOKUP(....) * 1) hết, thì nó sẽ ra số (bảng tính của bạn không thể định dạng lại theo kiểu số đâu). Bạn bị như vậy là do trong Bảng phụ của bạn có cái chữ "đ" (đồng) nên Excel hiểu tất cả bảng phụ là text chứ không phải là số. Lần sau bạn đừng để cái đơn vị tính đó vào làm gì.

Thứ hai, công thức đếm số lần ở C18:C20 của bạn: COUNTIF(C7:C13, B18) là không chính xác, mà phải là COUNTIF($C$7:$C$13, B18). May cho bạn là chỉ có Đà Lạt, Nha Trang và Huế và 3 ô trên cùng (C7, C8, C9) không trùng nhau, chứ nếu mà nhiều hơn, và lỡ mà trong bảng dò có trùng nhau thì bạn sẽ có kết quả sai. Nhớ dùng địa chỉ tuyệt đối cho bảng dò, còn không thì đặt luôn cho nó một cái Name.

Thân.



Bạn xem thêm: Hàm SUMIF
 
BNTT đã viết:
Hàm SUMIF: SUMIF(vùng_chọn, điều_kiện, vùng_cộng)
Cụ thể với bài của bạn, công thức tại D18:G20 là (bạn chọn hết D18:G20, gõ công thức y như dưới đây, nhấn Ctrl-Enter)
SUMIF($C$7:$G$13, $B18, D$7:D$13)​
Ví dụ, tại F19, công thức trên sẽ là: SUMIF($C$7:$G$13, $B19, F$7:F$13)
Nghĩa là: Đi dò trong khối cell C7:G13, hễ thấy đứa nào giống cái ở B19 (Nha Trang) thì cộng hết những giá trị nằm cùng hàng với nó ở bên khối cell F7:F13, và kết quả là 100,000.

Nói thêm chút, cái bảng tính của bạn có vấn đề đấy.

Thứ nhất, những con số tiền ăn, tiền khách sạn, v.v... của bạn (kết quả của hàm VLOOKUP) toàn là text chứ không phải số, nên nó sẽ không cộng trừ chi được. Có nhiều cách giải quyết, nhưng lẹ nhất là bạn sửa công thức ở D7:G13, cho tụi nó nhân với 1 (= VLOOKUP(....) * 1) hết, thì nó sẽ ra số (bảng tính của bạn không thể định dạng lại theo kiểu số đâu). Bạn bị như vậy là do trong Bảng phụ của bạn có cái chữ "đ" (đồng) nên Excel hiểu tất cả bảng phụ là text chứ không phải là số. Lần sau bạn đừng để cái đơn vị tính đó vào làm gì.

Thứ hai, công thức đếm số lần ở C18:C20 của bạn: COUNTIF(C7:C13, B18) là không chính xác, mà phải là COUNTIF($C$7:$C$13, B18). May cho bạn là chỉ có Đà Lạt, Nha Trang và Huế và 3 ô trên cùng (C7, C8, C9) không trùng nhau, chứ nếu mà nhiều hơn, và lỡ mà trong bảng dò có trùng nhau thì bạn sẽ có kết quả sai. Nhớ dùng địa chỉ tuyệt đối cho bảng dò, còn không thì đặt luôn cho nó một cái Name.

Thân.



Bạn xem thêm: Hàm SUMIF
Xin chào các bạn !
Tôi đang gặp khó khăn về lọc số liệu từ bảng cập nhật số liệu ra các bảng chi tiết. Mong được các bạn giúp đỡ. Nôi dung như sau:
- Số liệu chi tiết được nhập ở bảng Capnhat sau đó tôi muốn sau khi nhập xong từng lần thì số liệu được tự động chia về các sheet congtrinh, sheet donvi. Hiện nay tôi phải lọc thủ công mất nhiều thời gian mà kết quả không chính xác. Mong được các bạn giúp đỡ. Xin cảm ơn các bạn !
 
Phiền bạn quá!

BNTT đã viết:
Hàm SUMIF: SUMIF(vùng_chọn, điều_kiện, vùng_cộng)
Cụ thể với bài của bạn, công thức tại D18:G20 là (bạn chọn hết D18:G20, gõ công thức y như dưới đây, nhấn Ctrl-Enter)
SUMIF($C$7:$G$13, $B18, D$7:D$13)​
Ví dụ, tại F19, công thức trên sẽ là: SUMIF($C$7:$G$13, $B19, F$7:F$13)
Nghĩa là: Đi dò trong khối cell C7:G13, hễ thấy đứa nào giống cái ở B19 (Nha Trang) thì cộng hết những giá trị nằm cùng hàng với nó ở bên khối cell F7:F13, và kết quả là 100,000.

Nói thêm chút, cái bảng tính của bạn có vấn đề đấy.

Thứ nhất, những con số tiền ăn, tiền khách sạn, v.v... của bạn (kết quả của hàm VLOOKUP) toàn là text chứ không phải số, nên nó sẽ không cộng trừ chi được. Có nhiều cách giải quyết, nhưng lẹ nhất là bạn sửa công thức ở D7:G13, cho tụi nó nhân với 1 (= VLOOKUP(....) * 1) hết, thì nó sẽ ra số (bảng tính của bạn không thể định dạng lại theo kiểu số đâu). Bạn bị như vậy là do trong Bảng phụ của bạn có cái chữ "đ" (đồng) nên Excel hiểu tất cả bảng phụ là text chứ không phải là số. Lần sau bạn đừng để cái đơn vị tính đó vào làm gì.

Thứ hai, công thức đếm số lần ở C18:C20 của bạn: COUNTIF(C7:C13, B18) là không chính xác, mà phải là COUNTIF($C$7:$C$13, B18). May cho bạn là chỉ có Đà Lạt, Nha Trang và Huế và 3 ô trên cùng (C7, C8, C9) không trùng nhau, chứ nếu mà nhiều hơn, và lỡ mà trong bảng dò có trùng nhau thì bạn sẽ có kết quả sai. Nhớ dùng địa chỉ tuyệt đối cho bảng dò, còn không thì đặt luôn cho nó một cái Name.

Thân.



Bạn xem thêm: Hàm SUMIF
tôi đã thử theo cách chỉ dẫn của bạn.Nhưng tại sao mãi không được bạn ơi.Bạn up bài giải giúp mình nhé.+-+-+-+
 
Tôi file lên, bạn xem thử nhé!
ANH TUẤN
 

File đính kèm

Bài viết mới nhất

Back
Top Bottom