Menu

Hàm COUNTIFS trong Excel: đếm theo nhiều điều kiện

=COUNTIFS(A2:A7,"North",C2:C7,">50") đếm các hàng có khu vực là North và doanh số lớn hơn 50. Đếm giữa hai số hoặc hai ngày, với logic OR và với ô trống, trên trang tính trực tiếp.

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.

=COUNTIFS(A2:A7,"North",C2:C7,">50") đếm các hàng có cột A là North và cột C lớn hơn 50. COUNTIFS nhận các cặp gồm một vùng và một điều kiện, và một hàng chỉ được đếm khi mọi điều kiện đều đúng.

Đơn hàng North lớn hơn 50
F2
ABCDEF
1RegionProductSalesConditionCount
2NorthApple120North, over 502
3SouthPear45North Apple2
4NorthPear80North only3
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ó ba hàng North, và hai trong số đó lớn hơn 50, nên F2 hiện 2. Đổi C7 thành 90 thì hàng North cuối cùng cũng được đếm. F3 ghép hai điều kiện văn bản: North và Apple.

Cú pháp COUNTIFS

=COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...)
  • Mỗi điều kiện là một cặp: một vùng và một tiêu chí. Được phép tối đa 127 cặp.
  • Tiêu chí hoạt động y hệt như của COUNTIF: "North", ">50", "<>", "*apple*", hoặc một ô được nối với toán tử bằng &, chẳng hạn ">"&F2.
  • Mọi vùng phải có cùng kích thước. Chúng được đọc theo từng hàng: ô đầu tiên của mọi vùng là một hàng, ô thứ hai của mọi vùng là hàng tiếp theo.
  • Các điều kiện được nối bằng AND. Với OR, xem bên dưới.

COUNTIFS có trong mọi phiên bản Excel từ 2007 và trong Google Sheets.

COUNTIFS giữa hai số

Để đếm các giá trị nằm trong một khoảng, dùng cùng một vùng hai lần, một lần với mốc dưới và một lần với mốc trên.

Doanh số từ 50 đến 150
F4
ABCDEF
1RegionProductSalesSettingValue
2NorthApple120Min50
3SouthPear45Max150
4NorthPear80Between3
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.

120, 80 và 55 nằm trong khoảng từ 50 đến 150, nên F4 hiện 3. Đổi các mốc trong F2 và F3 thì kết quả thay đổi theo. ">=" và "<=" tính cả hai mốc; dùng ">" và "<" để không tính chúng.

COUNTIFS giữa hai ngày

Ngày cũng hoạt động theo cách tương tự. Hãy để ngày bắt đầu và ngày kết thúc trong các ô rồi nối chúng với toán tử, để không bao giờ phải gõ ngày trong dấu ngoặc kép.

Đơn hàng trong tháng 2
F4
ABCDEF
1RegionSalesDateSettingValue
2North1202026-01-05Start2026-02-01
3South452026-01-12End2026-02-28
4North802026-02-03Orders2
5East552026-02-18North orders1
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.

Có hai đơn hàng rơi vào tháng 2, và một trong số đó thuộc North. F5 có ba cặp: một cho khu vực và hai cho khoảng ngày. Nếu ngày của bạn có kèm giờ (2026-02-28 16:30), "<="&F3 sẽ bỏ sót mọi thứ sau 0:00 của ngày cuối; hãy dùng "<"&F3+1 thay thế.

COUNTIFS với logic OR

COUNTIFS không có OR. Để đếm các đơn North hoặc South lớn hơn 50, truyền cho điều kiện khu vực một danh sách trong dấu ngoặc nhọn. Khi đó COUNTIFS trả về một kết quả đếm cho mỗi mục, và SUM cộng chúng lại.

North hoặc South, lớn hơn 50
F2
ABCDEF
1RegionProductSalesConditionCount
2NorthApple120North or South, over 503
3SouthPear45Same, two COUNTIFS3
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.

Cả hai công thức đều cho 3: hai hàng North và một hàng South lớn hơn 50. Cách dùng ngoặc nhọn ngắn gọn hơn khi danh sách dài ra. Chỉ dùng danh sách cho một điều kiện. Hai danh sách trong cùng một công thức sẽ ghép các mục theo từng cặp thay vì thử mọi tổ hợp, điều mà hiếm khi bạn muốn.

Khi các mục nằm trong ô (giả sử E8:E9), =SUMPRODUCT(COUNTIFS(A2:A7,E8:E9,C2:C7,">50")) làm được điều tương tự mà không cần ngoặc nhọn.

COUNTIFS ô không trống

"<>" nghĩa là "không trống" và "" nghĩa là "trống", nên một cột ngày giao hàng cho bạn biết đơn nào vẫn chưa giao.

Đơn chưa giao và đã giao
F2
ABCDEF
1RegionOrderShippedConditionCount
2NorthA-1012026-01-08North, shipped2
3SouthA-102North, not shipped1
4NorthA-1032026-02-06
5EastA-1042026-02-20
6SouthA-105
7NorthA-106
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.

Hai đơn North có ngày giao và một đơn thì không. Nhập một ngày vào C7 thì kết quả chuyển từ F3 sang F2. Một công thức trả về chuỗi rỗng ("") được đếm bởi "" và cũng được đếm bởi "<>"; COUNTIF ô không trống giải thích các cách khắc phục.

Luyện tập: hai điều kiện

Đến lượt bạn: táo ở South
F2
ABCDEF
1RegionProductSalesConditionCount
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: Đếm các hàng có khu vực là South và sản phẩm là Apple. Viết công thức vào F2.

Đến lượt bạn: đơn hàng lớn trong một khoảng ngày
F4
ABCDEF
1RegionSalesDateSettingValue
2North1202026-01-05Start2026-01-01
3South1452026-01-12End2026-02-28
4North802026-02-03Count
5East1552026-02-18
6South2002026-03-02
7North302026-03-20
8West1102026-02-25
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: Đếm các đơn hàng từ ngày trong F2 đến ngày trong F3 (tính cả hai ngày) có doanh số ít nhất 100. Viết công thức vào F4.

Vì sao COUNTIFS trả về #VALUE! hoặc 0

  • Các vùng khác kích thước. =COUNTIFS(A2:A7,"North",C2:C6,">50") trả về #VALUE! vì A2:A7 có sáu ô còn C2:C6 có năm ô. Hãy cho mọi vùng bắt đầu và kết thúc ở cùng các hàng.
  • Một điều kiện AND không bao giờ đúng. =COUNTIFS(A2:A7,"North",A2:A7,"South") luôn bằng 0: một ô không thể vừa là cái này vừa là cái kia. Đó là OR, nên hãy dùng cách ngoặc nhọn ở trên.
  • Gõ ngày trong dấu ngoặc kép. ">=1/2/2026" được đọc theo thứ tự ngày của hệ thống. Hãy đặt ngày vào một ô và viết ">="&F2.
  • Toán tử và ô nằm trong dấu ngoặc kép. ">=F2" so sánh với văn bản F2. Hãy viết ">="&F2.

COUNTIFS đếm hàng. Để cộng một cột cho cùng các hàng đó, các tham số gần như y hệt với SUMIFS; với những điều kiện COUNTIFS không diễn đạt được (so sánh cột này với cột khác, tính toán trên từng hàng), hãy dùng SUMPRODUCT.

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

COUNTIF và COUNTIFS khác nhau thế nào?

COUNTIF nhận một vùng và một điều kiện. COUNTIFS nhận bao nhiêu cặp vùng và điều kiện cũng được, và đếm các hàng mà tất cả điều kiện đều đúng: =COUNTIFS(A2:A7,"North",C2:C7,">50"). Với một cặp, COUNTIFS cho cùng kết quả với COUNTIF.

Làm sao đếm giữa hai ngày bằng COUNTIFS?

Dùng cột ngày hai lần, mỗi lần với một mốc: =COUNTIFS(C2:C7,">="&F2,C2:C7,"<="&F3) đếm các ngày từ F2 đến F3, tính cả hai mốc.

Làm sao dùng COUNTIFS với OR?

COUNTIFS luôn nối các điều kiện bằng AND. Để có OR, truyền cho một điều kiện một danh sách trong dấu ngoặc nhọn rồi cộng các kết quả: =SUM(COUNTIFS(A2:A7,{"North","South"},C2:C7,">50")).

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

Các vùng không cùng kích thước. Mọi vùng trong COUNTIFS phải có cùng số hàng và số cột, nên không thể ghép A2:A7 với C2:C6.

Làm sao đếm các giá trị nằm giữa hai số bằng COUNTIFS?

Dùng cùng một vùng hai lần, mỗi lần cho một mốc: =COUNTIFS(C2:C7,">=50",C2:C7,"<=150") đếm các giá trị từ 50 đến 150, tính cả hai mốc. Dùng ">" và "<" để không tính hai mốc.

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