Menu

Hàm COUNTIF trong Excel: đếm ô thỏa mãn một điều kiện

=COUNTIF(B2:B7,"North") đếm các ô trong B2:B7 chứa North. Đếm theo văn bản, số, ký tự đại diện, ô trống và ngày, và tìm giá trị trùng lặp, trên trang tính bạn có thể sửa 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.

=COUNTIF(B2:B7,"North") đếm các ô trong B2:B7 chứa North. COUNTIF nhận hai tham số: vùng cần xét và điều kiện mà một ô phải thỏa mãn để được đếm.

Đếm một khu vực
F2
ABCDEF
1RepRegionSalesRegionCount
2AnaNorth120North3
3BenSouth45South2
4CaraNorth80
5DanEast55
6EvaSouth200
7FinnNorth30
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 đếm các hàng North. F3 làm điều tương tự với điều kiện nằm trong một ô: đổi E3 thành East, hoặc đổi một khu vực trong cột B, kết quả đếm sẽ thay đổi theo. Tham chiếu ô là cách bạn dựng một bảng tổng hợp: mỗi hàng một hàm COUNTIF, mỗi hàm trỏ tới nhãn của riêng nó.

Cú pháp COUNTIF

=COUNTIF(range, criteria)
  • range là các ô cần kiểm tra. Nó phải là một vùng trên trang tính, chẳng hạn B2:B7 hoặc B:B.
  • criteria là điều kiện, viết dưới dạng văn bản trong dấu ngoặc kép, một số hoặc một tham chiếu ô. Mọi dạng dưới đây đều là điều kiện hợp lệ:
Điều kiệnĐếm các ô
"North"bằng North (không phân biệt hoa thường)
">50"lớn hơn 50
"<>North"khác North, kể cả ô trống
55bằng số 55
">"&F6lớn hơn giá trị trong F6
"*apple*"chứa văn bản apple
""trống
"<>"không trống

COUNTIF lớn hơn, nhỏ hơn hoặc bằng

Đặt toán tử so sánh vào trong dấu ngoặc kép cùng với số: ">50", "<=50", "<>55". Một số không kèm toán tử nghĩa là "bằng".

Đếm theo một số
F2
ABCDEF
1RepRegionSalesConditionCount
2AnaNorth120Over 504
3BenSouth4550 or less2
4CaraNorth80Exactly 551
5DanEast55Not 555
6EvaSouth200Limit100
7FinnNorth30Over the limit2
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.

Bốn trong sáu doanh số lớn hơn 50 và hai doanh số từ 50 trở xuống, nên F2 và F3 cộng lại luôn bằng số hàng. F7 đọc ngưỡng từ F6: đổi F6 thành 50 thì F7 cho cùng kết quả với F2.

COUNTIF với tham chiếu ô

Khi giá trị cần so sánh nằm trong một ô, toán tử vẫn ở trong dấu ngoặc kép và ô được nối vào bằng &: ">"&F6, "<="&F6, "<>"&E3. Một lỗi COUNTIF hay gặp là viết ">F6". Trong dấu ngoặc kép, F6 chỉ là hai ký tự văn bản, nên Excel so sánh mọi số với văn bản "F6" và kết quả gần như luôn là 0.

Với điều kiện "bằng một ô" thì không cần toán tử: khi E3 có giá trị, =COUNTIF(B2:B7,E3) giống hệt =COUNTIF(B2:B7,"="&E3).

COUNTIF chứa văn bản: ký tự đại diện

Có hai ký tự đại diện dùng được trong điều kiện của COUNTIF. * thay cho số ký tự bất kỳ, ? thay cho đúng một ký tự. "*apple*" khớp với mọi ô có apple ở bất kỳ vị trí nào, "P*" khớp với mọi ô bắt đầu bằng P, "????" khớp với mọi văn bản có đúng bốn ký tự.

Đếm văn bản bằng ký tự đại diện
D2
ABCD
1ProductConditionCount
2Applecontains apple4
3Pineapplestarts with P3
4Pear4 letters2
5apple juiceequal to APPLE1
6not Pear6
7Plumempty1
8Green applenot empty6
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.

Hãy đọc D2 và D5 cùng nhau. "*apple*" tìm thấy 4 ô, nhưng "APPLE" không có ký tự đại diện chỉ tìm thấy 1, là ô chứa đúng Apple. Khi không có ký tự đại diện, cả ô phải khớp, và việc so khớp không phân biệt hoa thường, nên "APPLE", "Apple" và "apple" đều đếm cùng một ô.

D6 cho thấy một cái bẫy: "<>Pear" đếm 6 ô, vì ô trống A6 cũng "khác Pear". Để chỉ đếm các ô đã điền và khác Pear, dùng COUNTIFS với hai điều kiện: =COUNTIFS(A2:A8,"<>Pear",A2:A8,"<>").

Để dùng văn bản từ một ô, nối ký tự đại diện vào ô đó: =COUNTIF(A2:A8,"*"&E2&"*"). Để đếm một dấu sao hay dấu chấm hỏi thật, đặt dấu ngã trước nó: "~*". Có thêm nhiều mẫu khác ở trang ký tự đại diện, còn cách đếm mọi ô chứa văn bản có ở đếm ô chứa văn bản.

COUNTIF ô trống và không trống

D7 và D8 trong trang tính ở trên đếm các ô trống và ô đã điền. "" nghĩa là trống và "<>" nghĩa là không trống. Một công thức trả về chuỗi rỗng (=IF(B2>0,B2,"")) trông như trống và "" đếm nó là trống, nhưng "<>" cũng đếm nó là đã điền, vì ô đó chứa công thức. COUNTIF ô không trống trình bày các cách xử lý.

COUNTIF với ngày tháng

Trong Excel, ngày là số, nên các toán tử so sánh dùng được với ngày. Tạo ngày bằng DATE, hoặc lấy từ một ô, rồi nối với toán tử bằng &. Đừng bao giờ gõ ngày trong dấu ngoặc kép theo định dạng vùng miền của bạn: ">3/1/2026" là ngày 1 tháng 3 ở Mỹ nhưng là ngày 3 tháng 1 ở Việt Nam và phần lớn châu Âu.

Đếm theo ngày
E2
ABCDE
1RepDateConditionCount
2Ana2026-01-05From Feb 14
3Ben2026-01-12Cutoff2026-03-01
4Cara2026-02-03Before the cutoff4
5Dan2026-02-18On Jan 121
6Eva2026-03-02
7Finn2026-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.

E2 đếm bốn ngày từ ngày 1 tháng 2 trở đi. E4 đếm các ngày trước mốc trong E3: đổi E3 thành 2026-02-01 thì kết quả giảm còn 2. Đếm giữa hai ngày cần hai điều kiện, tức là COUNTIFS: =COUNTIFS(B2:B7,">="&DATE(2026,2,1),B2:B7,"<"&DATE(2026,3,1)).

Đếm giá trị trùng lặp bằng COUNTIF

COUNTIF cả danh sách theo một ô của chính nó cho biết giá trị đó xuất hiện bao nhiêu lần. Lớn hơn 1 nghĩa là bị trùng. Khóa danh sách bằng $ để nó giữ nguyên khi công thức được kéo xuống.

Đánh dấu tên bị trùng
B2
ABC
1NameTimesDuplicate?
2Ana2TRUE
3Ben2TRUE
4Cara1FALSE
5Ana2TRUE
6Dan1FALSE
7Ben2TRUE
8Eva1FALSE
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.

Ana và Ben xuất hiện hai lần, nên hàng của họ hiện 2 và TRUE, và quy tắc định dạng có điều kiện =COUNTIF($A$2:$A$8,A2)>1 trên A2:A8 tô sáng các ô đó. Đổi tên cuối cùng thành Cara thì Cara cũng được tô sáng.

=COUNTIF($A$2:A2,A2)>1 (chỉ khóa điểm đầu của vùng) đếm mỗi tên từ trên xuống tới hàng của chính nó, nên nó đánh dấu Ana thứ hai mà không đánh dấu Ana đầu tiên. Cách này đánh dấu các bản sao bạn sẽ xóa và giữ lại bản đầu tiên của mỗi tên. Cách làm đầy đủ có ở xóa dữ liệu trùng lặp.

Luyện tập: COUNTIF với một ô

Đến lượt bạn: đếm đơn hàng lớn
E3
ABCDE
1OrderAmountSettingValue
2A-101120Limit100
3A-10245Orders over limit
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: Đếm các đơn hàng trong B2:B8 lớn hơn ngưỡng trong E2. Viết công thức vào E3.

Sau khi làm đúng, hãy đổi E2: kết quả đếm phải thay đổi theo. Một đơn hàng đúng bằng 100 không "lớn hơn" 100.

Đến lượt bạn: đếm một từ ở bất kỳ vị trí nào
D3
ABCD
1ProductSettingValue
2AppleWordapple
3Pear juiceMatches
4Pineapple
5Banana
6Green apple
7Pear
8Apple cider
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 sản phẩm trong A2:A8 có chứa từ trong D2 ở bất kỳ vị trí nào trong tên. Viết công thức vào D3.

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

COUNTIF chỉ nhận một điều kiện. Với hai điều kiện trở lên, có hai trường hợp.

Mọi điều kiện đều phải đúng (North và lớn hơn 50): dùng COUNTIFS, hàm nhận các cặp vùng và điều kiện.

=COUNTIFS(B2:B7,"North",C2:C7,">50")

Chỉ cần một điều kiện đúng (North hoặc South): cộng hai hàm COUNTIF, hoặc truyền cho một hàm COUNTIF một danh sách trong dấu ngoặc nhọn rồi dùng SUM để cộng kết quả.

=COUNTIF(B2:B7,"North")+COUNTIF(B2:B7,"South")
=SUM(COUNTIF(B2:B7,{"North","South"}))

Đừng dùng cách OR này khi một ô có thể khớp cả hai điều kiện ("*apple*" hoặc "*green*"): Green apple sẽ bị đếm hai lần. Với các điều kiện chồng lên nhau, =SUMPRODUCT(--((ISNUMBER(SEARCH("apple",A2:A8))+ISNUMBER(SEARCH("green",A2:A8)))>0)) đếm mỗi ô một lần.

Đếm có phân biệt chữ hoa chữ thường

COUNTIF không bao giờ phân biệt Apple với apple. Khi chữ hoa chữ thường quan trọng, hãy so sánh bằng EXACT, hàm có phân biệt hoa thường, rồi cộng các kết quả TRUE:

=SUMPRODUCT(--EXACT(A2:A8,"Apple"))

-- biến TRUE và FALSE thành 1 và 0. SUMPRODUCT là công cụ chung cho những điều kiện COUNTIF không diễn đạt được.

Vì sao COUNTIF trả về 0 hoặc đếm sai

  • Cả toán tử và ô đều nằm trong dấu ngoặc kép. ">F6" so sánh với văn bản F6. Hãy viết ">"&F6.
  • Dữ liệu có dấu cách thừa. "North " có dấu cách ở cuối không bằng "North". Đếm bằng "North*" để kiểm tra, rồi làm sạch cột bằng TRIM.
  • Số được lưu dưới dạng văn bản. Một điều kiện như ">50" chỉ so sánh số thật, nên số được nhập dưới dạng văn bản (căn trái, thường có tam giác xanh) bị bỏ qua. Hãy chuyển chúng thành số trước; xem số được lưu dưới dạng văn bản.
  • Vùng trỏ tới một workbook khác đang đóng. COUNTIF trả về #VALUE! cho tới khi workbook đó được mở. SUMPRODUCT không có giới hạn này.
  • Văn bản dài hơn 255 ký tự. COUNTIF không khớp được chuỗi dài hơn 255 ký tự. Hãy so sánh trực tiếp: =SUMPRODUCT(--(A2:A8=E2)).

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

Cách dùng hàm COUNTIF trong Excel?

Truyền cho hàm một vùng và một điều kiện: =COUNTIF(B2:B7,"North") đếm các ô trong B2:B7 bằng North, còn =COUNTIF(C2:C7,">50") đếm các số lớn hơn 50. Văn bản và phép so sánh được đặt trong dấu ngoặc kép.

Làm sao dùng COUNTIF với tham chiếu ô?

Nối toán tử với ô bằng &: =COUNTIF(C2:C7,">"&F6) đếm các giá trị lớn hơn số trong F6. Viết ">F6" trong dấu ngoặc kép sẽ so sánh với văn bản F6 và thường trả về 0.

COUNTIF có phân biệt chữ hoa chữ thường không?

Không. "apple", "Apple" và "APPLE" đều đếm cùng các ô. Để đếm có phân biệt chữ hoa chữ thường, dùng =SUMPRODUCT(--EXACT(A2:A8,"Apple")).

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

Khi mọi điều kiện đều phải đúng, dùng COUNTIFS: =COUNTIFS(B2:B7,"North",C2:C7,">50"). Khi chỉ cần một trong hai giá trị, cộng hai hàm COUNTIF: =COUNTIF(B2:B7,"North")+COUNTIF(B2:B7,"South").

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