=COUNTIF(B2:B8,"<>") đếm các ô trong B2:B8 không trống. <> nghĩa là "khác", và khi không có gì phía sau, phép so sánh là với một ô trống. =COUNTA(B2:B8) cho cùng kết quả.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Phone | Count | Result | ||
| 2 | Ana | ana@mail.com | 555-0101 | Emails, COUNTIF | 5 | |
| 3 | Ben | 555-0102 | Emails, COUNTA | 5 | ||
| 4 | Cara | cara@mail.com | Missing emails | 2 | ||
| 5 | Dan | dan@mail.com | 555-0104 | Phones | 4 | |
| 6 | Eva | Rows | 7 | |||
| 7 | Finn | finn@mail.com | 555-0106 | |||
| 8 | Gus | gus@mail.com |
Năm trong bảy liên hệ có email, nên F2 và F3 đều hiện 5, còn COUNTBLANK đếm hai ô bị thiếu. Số ô đã điền cộng số ô trống luôn bằng số hàng ở F6. Nhập một email vào B3 thì F2 tăng thêm một còn F4 giảm đi một.
COUNTIF ô không trống và COUNTA
Với một vùng, =COUNTIF(B2:B8,"<>") và =COUNTA(B2:B8) đếm cùng các ô: mọi thứ không trống, gồm số, ngày, TRUE/FALSE và giá trị lỗi. COUNTA ngắn gọn hơn. Dạng "<>" sinh ra cho lúc bạn cần thêm điều kiện thứ hai, vì COUNTA không nhận điều kiện còn COUNTIFS thì có.
COUNT là một hàm khác: nó chỉ đếm số và ngày, nên một cột tên sẽ cho 0. Ba hàm được so sánh ở trang COUNT và COUNTA.
Ngược lại với không trống là "": =COUNTIF(B2:B8,"") đếm các ô trống, giống COUNTBLANK.
COUNTIFS không trống kèm điều kiện khác
Dùng "<>" làm một trong các điều kiện của COUNTIFS. Ở bảng dưới, có ngày giao hàng nghĩa là đơn đã được gửi đi.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Order | Shipped | Condition | Count | |
| 2 | North | A-101 | 2026-01-08 | North, shipped | 2 | |
| 3 | South | A-102 | North, not shipped | 1 | ||
| 4 | North | A-103 | 2026-02-06 | Any region, shipped | 3 | |
| 5 | East | A-104 | 2026-02-20 | Order and date filled | 3 | |
| 6 | South | A-105 | ||||
| 7 | North | A-106 |
F2 đếm hai đơn North có ngày giao, F3 đếm đơn không có ngày. F5 đặt "<>" cho hai cột, nên nó đếm các hàng mà cả hai cột đều đã điền. Điều kiện này cũng dùng được trong SUMIFS và AVERAGEIFS: =SUMIFS(D2:D7,C2:C7,"<>") sẽ cộng cột số tiền D chỉ cho các hàng đã giao.
Những ô chỉ trông như trống
Một ô chứa dấu cách trông như trống nhưng thực ra chứa văn bản, và cả "<>" lẫn COUNTA đều đếm nó. Chuyện này hay xảy ra với dữ liệu dán từ hệ thống khác hoặc bị "xóa" bằng cách gõ một dấu cách. Để đếm các ô có nội dung nhìn thấy được, hãy cắt bỏ dấu cách rồi kiểm tra độ dài.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Note | Count | Result | |
| 2 | Ana | call back | COUNTA | 4 | |
| 3 | Ben | Visible content | 2 | ||
| 4 | Cara | Space in B3? | 1 | ||
| 5 | Dan | paid | |||
| 6 | Eva |
B3 chứa một dấu cách và B6 chứa hai. COUNTA đếm chúng cùng với hai ghi chú thật và hiện 4. Phiên bản SUMPRODUCT cắt dấu cách ở từng ô và chỉ đếm những ô còn lại nội dung: 2. Để làm sạch chính các ô đó, chọn chúng rồi nhấn Delete, hoặc dùng TRIM trong một cột phụ. Thay mọi dấu cách bằng chuỗi rỗng trong Find and Replace cũng sẽ biến "call back" thành "callback".
Công thức trả về chuỗi rỗng
Một công thức như =IF(C2>0,C2,"") không hiển thị gì khi điều kiện sai, nhưng ô đó không trống: nó chứa một công thức có kết quả là chuỗi rỗng. Các hàm đếm xử lý nó theo những cách khác nhau. Với A2:A6 chứa Apple, một công thức trả về "", một ô trống, 5 và Pear, Excel cho:
=COUNTA(A2:A6) 4 counts the "" formula
=COUNTIF(A2:A6,"<>") 4 counts the "" formula
=COUNTBLANK(A2:A6) 2 counts the "" formula as blank
=COUNTIF(A2:A6,"") 2 counts the "" formula as blank
=SUMPRODUCT(--(LEN(A2:A6)>0)) 3 counts only visible content
=COUNTIF(A2:A6,"?*") 2 counts text of at least one character
Vậy ô chứa công thức đó vừa được đếm là trống vừa được đếm là không trống, và COUNTA cộng COUNTBLANK lớn hơn số ô. Khi một cột toàn những công thức như vậy, hãy đếm bằng =SUMPRODUCT(--(LEN(A2:A6)>0)), chỉ đếm các ô có hiển thị nội dung. Kèm điều kiện thứ hai: =SUMPRODUCT((B2:B6="North")*(LEN(A2:A6)>0)).
Luyện tập: không trống kèm một điều kiện
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | City | Phone | Count | Result | |
| 2 | Ana | Paris | 555-0101 | Paris with phone | ||
| 3 | Ben | Lyon | 555-0102 | |||
| 4 | Cara | Paris | ||||
| 5 | Dan | Paris | 555-0104 | |||
| 6 | Eva | Lyon | ||||
| 7 | Finn | Nice | 555-0106 | |||
| 8 | Gus | Paris |
Đến lượt bạn: Đếm số liên hệ ở Paris có số điện thoại trong cột C. Viết công thức vào F2.
Nên dùng công thức nào
| Bạn muốn đếm | Công thức |
|---|---|
| Ô đã điền trong một vùng | =COUNTA(B2:B8) |
| Ô đã điền kèm điều kiện khác | =COUNTIFS(A2:A8,"North",B2:B8,"<>") |
| Hàng có hai cột đều đã điền | =COUNTIFS(B2:B8,"<>",C2:C8,"<>") |
Ô có nội dung nhìn thấy được, bỏ qua dấu cách và công thức "" | =SUMPRODUCT(--(LEN(TRIM(B2:B8))>0)) |
| Chỉ ô văn bản đã điền | =COUNTIF(B2:B8,"?*") |
| Ô trống | =COUNTBLANK(B2:B8) |
Để kiểm tra một ô thay vì đếm, =B2<>"" trả về TRUE khi B2 hiển thị nội dung, còn =ISBLANK(B2) chỉ trả về TRUE khi B2 thật sự trống, không chứa công thức nào.
Câu hỏi thường gặp
COUNTIF "<>" có giống COUNTA không?
Với một vùng thì có: =COUNTIF(B2:B8,"<>") và =COUNTA(B2:B8) đếm cùng các ô (văn bản, số, ngày, TRUE/FALSE và lỗi). Dạng "<>" dành cho COUNTIFS, nơi nó có thể đứng cạnh một điều kiện khác.
"<>" trong COUNTIF có nghĩa là gì?
<> nghĩa là "khác", và khi không có gì phía sau, phép so sánh là với một ô trống. Vì vậy "<>" nghĩa là "không trống", còn "<>North" nghĩa là "khác North".
Làm sao đếm các ô không trống và khác 0?
Dùng =COUNTIFS(B2:B8,"<>",B2:B8,"<>0"). Riêng điều kiện "<>0" vẫn đếm cả ô trống, vì ô trống khác 0; thêm "<>" sẽ loại chúng ra.
Vì sao COUNTA đếm cả những ô trông như trống?
Những ô đó không trống: chúng chứa một dấu cách, hoặc một công thức trả về chuỗi rỗng "". Để chỉ đếm các ô có nội dung nhìn thấy được, dùng =SUMPRODUCT(--(LEN(TRIM(B2:B8))>0)).