Menu

Hàm SUMIFS trong Excel: tính tổng nhiều điều kiện

=SUMIFS(C2:C7,A2:A7,"North",B2:B7,"Apple") cộng doanh số trong C2:C7 ở những dòng có khu vực là North và sản phẩm là Apple. Khoảng ngày, logic OR và bộ lọc tùy chọn, trên trang tính sửa được.

Mọi bảng tính trên trang này đều trực tiếp: đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

=SUMIFS(C2:C7,A2:A7,"North",B2:B7,"Apple") cộng doanh số trong C2:C7 ở những dòng mà cột A là North và cột B là Apple. Vùng cần cộng đứng đầu, sau đó là một cặp vùng và điều kiện cho mỗi điều kiện.

Táo của khu vực North
F2
ABCDEF
1RegionProductSalesConditionTotal
2NorthApple120North, Apple150
3SouthPear45North, over 50200
4NorthPear80North230
5EastApple55
6SouthApple200
7NorthApple30
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Có hai dòng là North và Apple, 120 và 30, nên F2 hiện 150. F3 dùng cột doanh số vừa làm vùng tính tổng vừa làm vùng điều kiện: các dòng North lớn hơn 50. F4 chỉ có một điều kiện và hoạt động như SUMIF. Đổi B4 thành Apple và F2 tăng thêm 80.

Cú pháp hàm SUMIFS

=SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
  • sum_range là các ô cần cộng, và nó đứng đầu tiên. Trong SUMIF nó đứng cuối: =SUMIF(A2:A7,"North",C2:C7). Nhầm lẫn hai thứ tự này là lỗi SUMIFS hay gặp. Nếu bạn sao chép một SUMIF rồi thêm điều kiện, hãy chuyển vùng tính tổng lên đầu.
  • Mỗi điều kiện là một cặp: một vùng và một tiêu chí, tối đa 127 cặp. Các tiêu chí hoạt động giống của SUMIF: "North", ">50", "*apple*", "<>", hoặc một ô nối với toán tử, ">="&G2.
  • Một dòng chỉ được cộng khi mọi điều kiện đều đúng.
  • Mọi vùng phải cùng kích thước, nếu không SUMIFS trả về #VALUE!.

SUMIFS cũng dùng được với một điều kiện, và viết theo cách đó nghĩa là sau này bạn có thể thêm điều kiện thứ hai mà không phải sắp xếp lại các đối số.

SUMIFS với khoảng ngày

Để tính tổng một tháng, hay bất kỳ khoảng thời gian nào, dùng cột ngày hai lần: một lần với ngày bắt đầu, một lần với ngày kết thúc. Hãy để các ngày trong ô.

Doanh số giữa hai ngày
G4
ABCDEFG
1RegionProductSalesDateSettingValue
2NorthApple1202026-01-05Start2026-02-01
3SouthPear452026-01-12End2026-02-28
4NorthPear802026-02-03Total135
5EastApple552026-02-18North only80
6SouthApple2002026-03-02
7NorthApple302026-03-20
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Tháng 2 có hai đơn hàng, 80 và 55, nên G4 hiện 135, còn G5 chỉ giữ đơn của North. Đổi G3 thành 2026-03-31 để tính cả tháng 3. Nếu ngày có kèm giờ, "<="&G3 dừng ở 0:00 của ngày cuối: dùng "<"&G3+1 làm điều kiện kết thúc để các đơn muộn hơn trong ngày đó vẫn được tính.

Để tính tổng cả một tháng từ một ngày trong ô, hãy để EOMONTH tìm ngày cuối tháng: =SUMIFS(C2:C7,D2:D7,">="&G2,D2:D7,"<="&EOMONTH(G2,0)).

SUMIFS với OR

Các điều kiện trong SUMIFS luôn được nối bằng AND. Với North hoặc South, hãy đưa cho điều kiện khu vực một danh sách trong dấu ngoặc nhọn: SUMIFS trả về một tổng cho mỗi phần tử và SUM cộng chúng lại.

North hoặc South
F2
ABCDEF
1RegionProductSalesConditionTotal
2NorthApple120North or South475
3SouthPear45North or South, Apple350
4NorthPear80Two SUMIFS475
5EastApple55
6SouthApple200
7NorthApple30
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

F2 và F4 đều cho 475, tất cả trừ dòng East. F3 kết hợp OR trên khu vực với AND trên sản phẩm. Chỉ đặt danh sách ở một điều kiện: hai danh sách trong một SUMIFS sẽ ghép các phần tử theo từng vị trí chứ không thử mọi tổ hợp.

SUMIFS với điều kiện trống: bộ lọc tùy chọn

Một báo cáo thường có các ô lọc mà người đọc có thể để trống với nghĩa "tất cả". Một ô trống dùng làm điều kiện không có nghĩa là "bất kỳ": Excel đọc nó là 0, không khớp với gì trong một cột văn bản. Hãy đổi nó thành ký tự đại diện "*", khớp với mọi văn bản. Chọn một khu vực và một sản phẩm từ các danh sách, hoặc xóa chúng đi.

Bộ lọc tùy chọn
G4
ABCDEFG
1RegionProductSalesFilterValue
2NorthApple120RegionNorth
3SouthPear45Product
4NorthPear80Total230
5EastApple55
6SouthApple200
7NorthApple30
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Khi chọn North và không chọn sản phẩm, G4 cộng mọi dòng North: 230. Chọn Apple ở G3 và tổng giảm còn 150; xóa G2 và nó cộng Apple của mọi khu vực. "*" chỉ khớp với văn bản, nên cách này dùng cho cột văn bản; một cột số cần dùng khoảng thay thế, ">="&min và "<="&max.

Để cộng các dòng mà một cột đang trống hoặc có dữ liệu, dùng "" và "<>" làm điều kiện. Với ngày thanh toán ở cột D, =SUMIFS(C2:C7,A2:A7,"North",D2:D7,"") cộng doanh số North chưa được thanh toán.

Luyện tập: SUMIFS

Đến lượt bạn: táo của khu vực South
F2
ABCDEF
1RegionProductSalesConditionTotal
2NorthApple120South, Apple
3SouthPear45
4NorthPear80
5EastApple55
6SouthApple200
7NorthApple30
8SouthApple75
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đến lượt bạn: Cộng doanh số ở những dòng có khu vực là South và sản phẩm là Apple. Viết công thức ở F2.

Đến lượt bạn: doanh số North trong một khoảng thời gian
G4
ABCDEFG
1RegionProductSalesDateSettingValue
2NorthApple1202026-01-05Start2026-01-10
3SouthPear452026-01-12End2026-03-05
4NorthPear802026-02-03Total
5EastApple552026-02-18
6SouthApple2002026-03-02
7NorthApple302026-03-20
8NorthPlum652026-03-01
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đến lượt bạn: Cộng doanh số North có ngày từ G2 đến G3, tính cả hai ngày. Viết công thức ở G4.

SUMIFS, SUMIF hay SUMPRODUCT

Bạn cầnDùng
Một điều kiệnSUMIF(range,criteria,sum_range) hoặc SUMIFS với một cặp
Nhiều điều kiện, tất cả đều đúngSUMIFS(sum_range,range1,criteria1,range2,criteria2)
Một trong nhiều giá trị trong cùng một cộtSUM(SUMIFS(sum_range,range,{"a","b"}))
Điều kiện dựa trên một phép tính (tháng của một ngày, so sánh cột này với cột khác, giá nhân số lượng)SUMPRODUCT
Cùng các điều kiện, nhưng để đếmCOUNTIFS

Nếu SUMIFS trả về 0, hãy kiểm tra riêng từng điều kiện bằng COUNTIFS trên cùng các vùng: điều kiện có số đếm bằng 0 chính là điều kiện không bao giờ khớp, thường do khoảng trắng thừa ở cuối, số được lưu dưới dạng văn bản, hoặc ô bị viết bên trong dấu ngoặc kép (">=G2" thay vì ">="&G2).

Câu hỏi thường gặp

SUMIF và SUMIFS khác nhau thế nào?

SUMIF nhận một điều kiện và đặt vùng tính tổng ở cuối: =SUMIF(A2:A7,"North",C2:C7). SUMIFS nhận bao nhiêu điều kiện cũng được và đặt vùng tính tổng ở đầu: =SUMIFS(C2:C7,A2:A7,"North",B2:B7,"Apple"). Với một điều kiện, cả hai cho cùng tổng.

Làm sao để dùng SUMIFS với một khoảng ngày?

Dùng cột ngày hai lần, với ngày bắt đầu và ngày kết thúc: =SUMIFS(C2:C7,D2:D7,">="&G2,D2:D7,"<="&G3) cộng doanh số có ngày từ G2 đến G3, tính cả hai đầu.

SUMIFS có dùng được logic OR không?

Không trực tiếp: các điều kiện của hàm được nối bằng AND. Hãy đưa cho một điều kiện một danh sách rồi cộng các kết quả: =SUM(SUMIFS(C2:C7,A2:A7,{"North","South"})) tính tổng North và South.

Vì sao SUMIFS trả về #VALUE!?

Vùng tính tổng và các vùng điều kiện không cùng kích thước, ví dụ C2:C7 với A2:A8. Khác với SUMIF, SUMIFS không tự đổi kích thước; mọi vùng phải có cùng số dòng và số cột.

Làm sao để một điều kiện SUMIFS trở thành tùy chọn?

Thay ô lọc trống bằng ký tự đại diện "*", khớp với mọi văn bản: =SUMIFS(C2:C7,A2:A7,IF(G2="","*",G2)). Khi G2 trống, mọi khu vực đều được tính.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu