What Most People Miss About How COUNT Works in Excel

Excel trainers say "COUNT counts numbers." That’s not just incomplete — it’s dangerously misleading. COUNT skips dates (even though they’re stored as numbers), ignores text that looks like numbers (like '00123' or '1,234'), and vanishes entirely when you apply AutoFilter. If you’ve ever gotten 0 instead of 12 after filtering a list, you’ve been burned by this silent assumption.

Quick Answer

COUNT only counts cells containing numeric values — meaning true numbers, not numbers formatted as text, not dates (despite their underlying serial numbers), and not logical TRUE/FALSE unless entered directly as numbers (1/0). It ignores empty cells, errors, text, and even filtered-out rows. For everything else, you need COUNTA, COUNTBLANK, or COUNTIF variants.

All the Methods

MethodStepsBest ForLimitations
COUNT=COUNT(A1:A20)Counting only numeric entries (integers, decimals, negatives)Ignores dates, text-numbers, TRUE/FALSE, filtered rows
COUNTA=COUNTA(B2:B15)Counting non-blank cells of any typeCounts spaces, apostrophes, error cells (#N/A), and zero-length strings
COUNTBLANK=COUNTBLANK(C1:C12)Finding truly empty cells or cells with =""Counts cells with formulas returning "" — but NOT cells with spaces or non-breaking chars
COUNTIF=COUNTIF(D2:D10,">1000")Conditional counting with one criterionCan’t handle multiple OR conditions without array logic or COUNTIFS
COUNTIFS=COUNTIFS(E2:E11,"Paid",F2:F11,">=2024-01-01")Multi-criteria counting (AND logic)Each range must be same size; no built-in support for dynamic headers
SUBTOTAL(2)=SUBTOTAL(2,G2:G15) — then filterCounting only *visible* numeric cells after filteringRequires manual refresh if filters change; 2 = COUNT, 3 = COUNTA

Method 1 Deep Dive

Let’s test COUNT with real payroll data in A1:F12:

NameDeptSalaryStart DateStatusBonus
Sarah ChenFinance$89,5002022-04-12Active12500
James OkaforIT$112,3002021-09-03Active18200
Lena TorresHR$74,1002023-02-17On Leave0
Raj PatelIT$95,8002020-11-30Active15700
Maya DuboisFinance$82,6002022-07-05Active11200

In column C (Salary), all entries are true numbers — so =COUNT(C2:C12) returns 5. But try =COUNT(D2:D12) (Start Date). Even though Excel stores dates as integers (e.g., 2022-04-12 = 44663), COUNT ignores them. Result? 0. That’s the first surprise: COUNT doesn’t care about date serials. The beauty of this is consistency — it only sees what Excel classifies as Number format, not underlying storage.

Now enter '00123 in C7 (with apostrophe to force text). That cell now looks like a number but isn’t counted. Same for 1,234 — comma formatting doesn’t convert it to numeric. COUNT won’t budge. What makes this elegant is how cleanly it isolates *calculation-ready* values — no guesswork, no coercion.

Method 2 Deep Dive

SUBTOTAL(2) fixes the filtered-row blind spot. Apply AutoFilter to the table above, then filter Dept = "IT". You’ll see two rows. But =COUNT(C2:C12) still returns 5 — it counts hidden rows. Enter =SUBTOTAL(2,C2:C12). Now it returns 2.

The magic number 2 tells SUBTOTAL to use COUNT logic *only on visible cells*. Alt+D+F+F opens the AutoFilter menu instantly — use it often. Pro tip: SUBTOTAL ignores other SUBTOTAL results nested inside the range, preventing double-counting in grouped reports.

Try this counterintuitive test: In an empty column, enter =TODAY() in G2, then copy down to G12. All are valid dates. Now =COUNT(G2:G12) returns 0 — again, because TODAY() outputs a date, not a number. But =COUNTA(G2:G12) returns 11. And =SUBTOTAL(2,G2:G12)? Still 0. So even SUBTOTAL respects COUNT’s strict numeric definition. To count dates, use COUNTA — or convert with =COUNT(--G2:G12) (array-enter with Ctrl+Shift+Enter pre-365, or just Enter in newer versions).

Cheat Sheet

GoalFormulaShortcut / Tip
Count only numbers (ignore dates, text-numbers)=COUNT(A1:A100)No shortcut — but remember: COUNT ≠ “count things that look numeric”
Count non-blanks (including errors & spaces)=COUNTA(B2:B50)Alt+= auto-sums, then arrow left → changes to COUNTA
Count only visible numeric cells after filter=SUBTOTAL(2,C2:C20)2 = COUNT, 3 = COUNTA, 9 = SUM — memorize these three
Count cells > $75,000 in Salary column=COUNTIF(C2:C12,">75000")Use quotes around criteria; >75000 alone throws #VALUE!
Count “Active” Finance staff=COUNTIFS(E2:E12,"Active",B2:B12,"Finance")Ranges must align — B2:B12 and E2:E12 both 11 rows
Count truly blank cells (not "")=COUNTBLANK(D2:D12)If D5 contains =IF(FALSE,"","X"), it’s blank. If it contains a space, it’s not.
Sarah Mitchell

Sarah Mitchell

Sarah has 12 years of experience covering Microsoft 365 productivity tools and enterprise software workflows. She specializes in Excel automation and SharePoint integration.