Menu

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

=SUMIF(A2:A7,"North",C2:C7) cộng các giá trị trong C2:C7 ở những dòng mà cột A là North. Tổng nếu lớn hơn, nếu văn bản có chứa, theo ngày và từ sheet khác, 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.

=SUMIF(A2:A7,"North",C2:C7) cộng doanh số trong C2:C7 ở mọi dòng mà cột A ghi North. SUMIF so một vùng với một điều kiện và cộng các dòng khớp của một vùng khác.

Tổng doanh số của một khu vực
F2
ABCDEF
1RegionProductSalesRegionTotal
2NorthApple120North230
3SouthPear45South245
4NorthPear80
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 cộng 120, 80 và 30, ba dòng North, và hiện 230. F3 lấy khu vực từ E3: đổi E3 thành East và nó hiện 55. Đổi bất kỳ số nào trong cột C, cả hai tổng đều cập nhật.

Cú pháp hàm SUMIF

=SUMIF(range, criteria, [sum_range])
  • range là các ô được so với điều kiện.
  • criteria là điều kiện: văn bản trong dấu ngoặc kép ("North"), một phép so sánh (">100"), một mẫu có ký tự đại diện ("*apple*"), hoặc một ô (E3, hoặc ">"&F2 khi kèm toán tử).
  • sum_range là các ô cần cộng. Đối số này không bắt buộc: không có nó, SUMIF cộng chính các ô khớp của range.

range và sum_range được ghép theo từng dòng, nên chúng nên bắt đầu ở cùng một dòng và có cùng kích thước. Nếu cài đặt vùng miền của bạn dùng dấu phẩy thập phân, Excel ngăn cách các đối số bằng dấu chấm phẩy: =SUMIF(A2:A7;"North";C2:C7).

SUMIF lớn hơn hoặc nhỏ hơn

Để cộng các số lớn hơn hoặc nhỏ hơn một giá trị, điều kiện và phép cộng nằm trên cùng một cột, nên bạn có thể bỏ sum_range.

Tính tổng theo độ lớn
F2
ABCDEF
1RegionProductSalesConditionTotal
2NorthApple120Over 100320
3SouthPear45100 or less210
4NorthPear80Not North300
5EastApple55Limit50
6SouthApple200Over the limit455
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 cộng 120 và 200, F3 cộng bốn số còn lại, và hai tổng gộp lại luôn bằng tổng chung. F4 minh họa "khác": mọi thứ trừ North. F6 đọc ngưỡng từ F5. Viết toán tử trong dấu ngoặc kép và nối ô bằng &: ">"&F5, đừng bao giờ viết ">F5".

SUMIF nếu ô có chứa văn bản

* trong điều kiện thay cho số ký tự bất kỳ và ? thay cho đúng một ký tự. "*apple*" khớp với mọi sản phẩm có apple ở bất kỳ đâu trong tên, viết hoa hay thường đều được.

Tính tổng các sản phẩm có chứa một từ
E2
ABCDE
1ProductSalesConditionTotal
2Apple120contains apple250
3Pineapple45exactly Apple120
4Pear80starts with P325
5Green apple55word in D680
6Plum200pear
7Apple cider30
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.

E2 cộng Apple, Pineapple, Green apple và Apple cider. E3, không có ký tự đại diện, chỉ cộng ô có nội dung đúng là Apple. E5 tạo mẫu từ từ ở D6: đổi D6 thành cider và E5 chỉ hiện doanh số cider. Các mẫu khác, và ~ để tìm đúng dấu sao, có ở trang ký tự đại diện.

Để cộng các giá trị bên cạnh mọi ô có dữ liệu, dùng "<>" (không trống): =SUMIF(A2:A7,"<>",B2:B7). "" cộng các dòng mà ô bị trống.

SUMIF theo ngày

Ngày là số, nên ">=", "<" và các toán tử khác đều dùng được. Tạo ngày bằng DATE hoặc để nó trong một ô, rồi nối với toán tử bằng &.

Doanh số từ một ngày trở đi
F2
ABCDEF
1RegionSalesDateConditionTotal
2North1202026-01-05From Feb 1365
3South452026-01-12Cutoff2026-03-01
4North802026-02-03Before the cutoff300
5East552026-02-18On Jan 1245
6South2002026-03-02
7North302026-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.

F2 cộng bốn đơn hàng từ ngày 1 tháng 2 trở đi: 80, 55, 200 và 30, tổng là 365. F4 cộng các đơn trước ngày ở F3. Tổng của một tháng cần ngày bắt đầu và ngày kết thúc, tức hai điều kiện trên cùng một cột, và đó là việc của SUMIFS: =SUMIFS(B2:B7,C2:C7,">="&DATE(2026,2,1),C2:C7,"<"&DATE(2026,3,1)).

SUMIF từ sheet khác

Các vùng có thể nằm trên sheet khác: đặt tên sheet và ! trước chúng. Bên dưới, dữ liệu nằm ở tab Sales còn phần tóm tắt ở tab riêng. Bấm vào tab Sales để xem các dòng được cộng.

Bảng tính trực tiếp
B2
AB
1RegionTotal
2North230
3South245
4East55
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.

B2 được điền xuống đến B4: điều kiện A2 dời thành A3 và A4, còn $ giữ cả hai vùng ở đúng các dòng của sheet Sales. Không có $, bản sao thứ ba sẽ đọc Sales!A4:A9 và bỏ sót các dòng đầu. Cách này, một danh sách nhãn với một SUMIF bên cạnh mỗi nhãn, giúp bạn tạo bảng tóm tắt theo nhóm mà không cần pivot table. Tên sheet có khoảng trắng cần dấu nháy: 'Sales 2026'!$A$2:$A$7.

Luyện tập: SUMIF

Đến lượt bạn: tổng của một sản phẩm
F2
ABCDEF
1RegionProductSalesProductTotal
2NorthApple120Apple
3SouthPear45
4NorthPear80
5EastApple55
6SouthApple200
7NorthPlum30
8WestApple65
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ố của các dòng Apple. Viết công thức ở F2.

Đến lượt bạn: chỉ các đơn hàng lớn
E2
ABCDE
1OrderAmountConditionTotal
2A-101120100 or more
3A-10245
4A-103310
5A-104100
6A-10585
7A-106140
8A-10799
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 các đơn hàng từ 100 trở lên trong B2:B8. Viết công thức ở E2.

SUMIF với nhiều điều kiện

SUMIF chỉ nhận một điều kiện. Có hai trường hợp hay gặp.

Cả hai điều kiện phải cùng đúng (North và Apple): dùng SUMIFS. Vùng tính tổng đứng đầu, sau đó là các cặp điều kiện.

=SUMIFS(C2:C7,A2:A7,"North",B2:B7,"Apple")

Một trong hai giá trị trong cùng một cột (North hoặc South): đưa cho SUMIF một danh sách trong dấu ngoặc nhọn rồi SUM hai kết quả, hoặc cộng hai SUMIF lại.

=SUM(SUMIF(A2:A7,{"North","South"},C2:C7))
=SUMIF(A2:A7,"North",C2:C7)+SUMIF(A2:A7,"South",C2:C7)

Với điều kiện dựa trên một phép tính (tháng của một ngày, doanh số nhân giá), SUMIF không giúp được; SUMPRODUCT thì làm được.

Vì sao SUMIF trả về 0 hoặc tổng sai

  • Điều kiện không bao giờ khớp. "North " có khoảng trắng ở cuối không bằng "North". Kiểm tra điều kiện bằng =COUNTIF(A2:A7,"North"): nếu ra 0, vấn đề nằm ở phép khớp, không phải phép cộng.
  • Số được lưu dưới dạng văn bản trong vùng tính tổng. SUMIF lặng lẽ bỏ qua chúng. Chúng thường nằm lệch trái trong ô và có tam giác xanh lá; hãy chuyển chúng thành số trước.
  • Ô nằm trong dấu ngoặc kép. ">F5" so sánh với văn bản F5. Hãy viết ">"&F5.
  • Các vùng khác kích thước. =SUMIF(A2:A7,"North",C2) không báo lỗi: Excel tự đổi kích thước sum_range cho khớp với range, bắt đầu từ ô đầu tiên của nó. Công thức vẫn chạy, nhưng vùng tính tổng bắt đầu sai dòng sẽ lặng lẽ cộng nhầm ô, nên luôn cho hai vùng cùng các dòng.
  • Các vùng nằm trong một workbook khác đang đóng. SUMIF hiện #VALUE! cho đến khi tệp được mở.

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

Hàm SUMIF trong Excel hoạt động thế nào?

=SUMIF(range, criteria, sum_range) so từng ô của range với điều kiện và cộng ô cùng dòng trong sum_range khi khớp. =SUMIF(A2:A7,"North",C2:C7) tính tổng cột C cho các dòng North.

Làm sao để tính tổng các giá trị lớn hơn một số?

Bỏ vùng tính tổng đi và đặt phép so sánh trong dấu ngoặc kép: =SUMIF(C2:C7,">100") cộng mọi giá trị trong C2:C7 lớn hơn 100. Khi ngưỡng nằm trong một ô, viết =SUMIF(C2:C7,">"&F2).

Làm sao để tính tổng nếu ô có chứa một đoạn văn bản?

Đặt dấu sao quanh văn bản: =SUMIF(B2:B7,"*apple*",C2:C7) cộng cột C ở mọi dòng mà cột B có chứa apple, như Apple, Pineapple hay Green apple. Phép khớp không phân biệt chữ hoa chữ thường.

Làm sao để dùng SUMIF với nhiều điều kiện?

Với các điều kiện phải cùng đúng, dùng SUMIFS: =SUMIFS(C2:C7,A2:A7,"North",B2:B7,"Apple"). Với một trong hai giá trị trong cùng một cột, cộng kết quả của một danh sách: =SUM(SUMIF(A2:A7,{"North","South"},C2:C7)).

Vì sao hàm SUMIF trả về 0?

Thường là vì điều kiện không bao giờ khớp (dữ liệu có khoảng trắng thừa ở cuối, hoặc viết ">F2" thay vì ">"&F2), hoặc các số trong vùng tính tổng được lưu dưới dạng văn bản, thứ mà SUMIF bỏ qua. Hãy kiểm tra phép khớp bằng COUNTIF với cùng vùng và điều kiện.

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