What Most People Miss About Does Average in Excel Include Blank Cells

Why does AVERAGE(A1:A10) return 42 when three cells look empty? Why does it change when you type a space in one of them? Why does =AVERAGE(B2:B15) give #DIV/0! even though you ‘see’ numbers?

The answer isn’t about formulas — it’s about how Excel defines ‘blank’ at the engine level. And no, Ctrl+G > Blanks won’t catch them all.

The Myth

Most people assume ‘blank cell = ignored by AVERAGE’. That’s half true — and dangerously incomplete. They’ll select A1:A8, see two visibly empty rows, and trust that AVERAGE only counts the six numeric entries. In reality, Excel treats four distinct kinds of ‘emptiness’ — and only one of them is truly invisible to AVERAGE.

This misconception leads to silent errors in financial summaries, KPI dashboards, and HR headcount reports — especially when data comes from Power Query, web imports, or copy-pasted CRM exports.

The Reality

AVERAGE() ignores cells that are truly blank (no formula, no value, no space, no non-breaking character). But it includes cells containing:

  • An empty string (="") returned by an IF formula
  • A single space (" ") typed manually
  • Non-breaking spaces (CHAR(160)) — common in web-scraped data
  • Zero-length text from TRIM() or CLEAN() mishaps

Here’s what happens across 9 realistic test cases — all in column A (A1:A9):

CellContentAppears Blank?Included in AVERAGE(A1:A9)?
A1[empty]YesNo
A2=""YesYes
A3" " (space)YesYes
A4CHAR(160)YesYes
A50NoYes
A6=IF(FALSE,10,"")YesYes
A7=NA()No (shows #N/A)No
A8"$45,200" (text)No (shows as text)No
A927.5NoYes

The beauty of this approach is how predictable it becomes once you know the rules: AVERAGE sees numbers and zero-length strings as valid inputs — but refuses to touch errors or pure emptiness.

Why the Myth Persists

Early Excel training (and many YouTube videos from 2012–2016) used clean, hand-entered data. No formulas. No imports. No invisible characters. So instructors said “AVERAGE skips blanks” — and it worked. That phrase stuck, even after Excel added more sophisticated text-handling and web-data ingestion.

Also, Excel’s Go To Special > Blanks (Alt + ; then Alt + H + F + G + K) selects only truly blank cells — not those with ="" or spaces. So users run that shortcut, see 2 cells selected, and assume AVERAGE behaves the same. It doesn’t.

The Right Way

Stop guessing. Start validating.

First, expose hidden content with this quick check in column B (next to your data in A1:A12):
=LEN(TRIM(CLEAN(A1)))

If the result is >0, AVERAGE sees it as non-blank — even if it looks empty.

Then apply the correct averaging method based on intent:

  • To ignore all non-numeric cells (including ="", spaces, text): use =AVERAGEIF(A1:A12,"<>"&"") — but this still includes zeros.
  • To exclude zeros and blanks: =AVERAGEIFS(A1:A12,A1:A12,"<>0",A1:A12,"<>")
  • To be 100% safe with imported data: wrap in VALUE() and handle errors: =AVERAGE(IF(ISNUMBER(VALUE(A1:A12)),VALUE(A1:A12))) — enter with Ctrl+Shift+Enter in older Excel, or just Enter in Microsoft 365.

Try it with this real dataset (B2:B11):

NameQ1 SalesQ2 Sales
Sarah Chen$24,800$31,200
Miguel Torres$19,500""
Anya Petrova" "$28,400
James Lee$33,100$0
Fatima Al-MansooriCHAR(160)$26,900
Diego Morales$22,300#N/A
Liu Wei$29,700$30,100
Priya Patel"$42,500"$25,600
Tariq Hassan$0$27,800
Nina Dubois[blank]$34,200

Now compute AVERAGE(B2:B11) — you’ll get #DIV/0! because of the #N/A. But AVERAGE(B2:C11) returns $27,166.67. Why? Because it silently excludes the #N/A in C6, but includes the empty string in B3, the space in B4, and CHAR(160) in B5 — all treated as 0 in arithmetic context.

Proof It Works

Here’s the exact same range before and after cleaning with =IF(OR(LEN(TRIM(CLEAN(B2)))=0,ISERROR(VALUE(B2))),"",VALUE(B2)) applied to B2:C11:

MetricRaw AVERAGE(B2:C11)Cleaned AVERAGE
Result$27,166.67$29,428.57
Count of values used1412
Includes false zeros?Yes (B3, B4, B5 = 0)No
Handles #N/A?Skipped automaticallyConverted to blank

That $2,261.90 difference? Not rounding. It’s the cost of invisible data.

Exceptions

There are cases where ‘AVERAGE includes blank cells’ is technically correct — but only because of user-defined meaning:

  • You’ve formatted cells to hide zeros (via Format Cells > Number > Custom > 0.00;-0.00;;@). The cell contains 0, looks blank, and AVERAGE includes it.
  • You’re using AVERAGEA(), which treats text and logicals as values (TRUE=1, FALSE=0, text=0). So =AVERAGEA("","x",5) returns 2, not 5.
  • Your ‘blank’ is actually a formula returning =NA() — and you’re using AGGREGATE(1,6,range), which skips errors and hidden rows, but still sees ="" as 0.

One counterintuitive tip: If you want to force AVERAGE to treat ="" as blank, don’t wrap it — delete the formula and replace with a proper IF that returns nothing: =IF(condition,value,) — leaving the third argument empty. Excel stores that as truly blank.

Next step: Run this diagnostic on your next report. In cell D1, paste:
=SUMPRODUCT(--(LEN(TRIM(CLEAN(A1:A100)))>0))/COUNTA(A1:A100)
It tells you what % of your ‘blank-looking’ cells actually contain hidden junk. Anything over 5% means it’s time to clean before averaging.

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.