=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.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | Region | Count | |
| 2 | Ana | North | 120 | North | 3 | |
| 3 | Ben | South | 45 | South | 2 | |
| 4 | Cara | North | 80 | |||
| 5 | Dan | East | 55 | |||
| 6 | Eva | South | 200 | |||
| 7 | Finn | North | 30 |
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)
rangelà các ô cần kiểm tra. Nó phải là một vùng trên trang tính, chẳng hạnB2:B7hoặcB:B.criterialà đ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 |
55 | bằng số 55 |
">"&F6 | lớ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".
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Rep | Region | Sales | Condition | Count | |
| 2 | Ana | North | 120 | Over 50 | 4 | |
| 3 | Ben | South | 45 | 50 or less | 2 | |
| 4 | Cara | North | 80 | Exactly 55 | 1 | |
| 5 | Dan | East | 55 | Not 55 | 5 | |
| 6 | Eva | South | 200 | Limit | 100 | |
| 7 | Finn | North | 30 | Over the limit | 2 |
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ự.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Condition | Count | |
| 2 | Apple | contains apple | 4 | |
| 3 | Pineapple | starts with P | 3 | |
| 4 | Pear | 4 letters | 2 | |
| 5 | apple juice | equal to APPLE | 1 | |
| 6 | not Pear | 6 | ||
| 7 | Plum | empty | 1 | |
| 8 | Green apple | not empty | 6 |
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.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Rep | Date | Condition | Count | |
| 2 | Ana | 2026-01-05 | From Feb 1 | 4 | |
| 3 | Ben | 2026-01-12 | Cutoff | 2026-03-01 | |
| 4 | Cara | 2026-02-03 | Before the cutoff | 4 | |
| 5 | Dan | 2026-02-18 | On Jan 12 | 1 | |
| 6 | Eva | 2026-03-02 | |||
| 7 | Finn | 2026-03-20 |
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.
| A | B | C | |
|---|---|---|---|
| 1 | Name | Times | Duplicate? |
| 2 | Ana | 2 | TRUE |
| 3 | Ben | 2 | TRUE |
| 4 | Cara | 1 | FALSE |
| 5 | Ana | 2 | TRUE |
| 6 | Dan | 1 | FALSE |
| 7 | Ben | 2 | TRUE |
| 8 | Eva | 1 | FALSE |
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 ô
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Order | Amount | Setting | Value | |
| 2 | A-101 | 120 | Limit | 100 | |
| 3 | A-102 | 45 | Orders over limit | ||
| 4 | A-103 | 310 | |||
| 5 | A-104 | 100 | |||
| 6 | A-105 | 85 | |||
| 7 | A-106 | 140 | |||
| 8 | A-107 | 99 |
Đế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.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Product | Setting | Value | |
| 2 | Apple | Word | apple | |
| 3 | Pear juice | Matches | ||
| 4 | Pineapple | |||
| 5 | Banana | |||
| 6 | Green apple | |||
| 7 | Pear | |||
| 8 | Apple cider |
Đế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").