The first thing most people do when their AVERAGE formula returns an unexpected result is blame the data. They scan for blanks, confirm nothing’s typed in those cells, and assume Excel ‘ignored’ them — then move on. That assumption is usually wrong. And it costs time, credibility, and inaccurate reports.
The Myth
Most users believe AVERAGE(A1:A10) treats all empty-looking cells the same: blank, "", zero, space, or even #N/A — and that Excel just skips them all. It doesn’t. Excel only ignores cells that are truly empty — no formula, no space, no quote marks, no hidden characters. Everything else gets counted.
The Reality
Here’s what AVERAGE actually does with each cell type in range A1:A7:
| Cell | Content | Treated As | Included? |
|---|---|---|---|
| A1 | (blank) | Empty | Yes — ignored |
| A2 | "" | Text (zero-length string) | No — causes #DIV/0! if all are like this |
| A3 | 0 | Number | Yes — included in count & sum |
| A4 | " " | Text (space) | No — treated as non-blank |
| A5 | =IF(B1="","",B1) | Formula returning "" | No — text, not blank |
| A6 | #N/A | Error | No — formula returns #N/A |
| A7 | 120 | Number | Yes — included |
Why the Myth Persists
Older Excel versions (pre-2010) had inconsistent behavior with formulas returning "" — some add-ins and legacy templates forced users to wrap AVERAGE in IFERROR or array tricks. YouTube tutorials from 2013–2016 still circulate showing =AVERAGE(IF(A1:A10<>"",A1:A10)) as a 'fix' — but that’s unnecessary overkill for true blanks. Also, many users confuse AVERAGE with AVERAGEA (which *does* treat "" as 0) or AVERAGEIF (which lets you define criteria). They see different results and assume AVERAGE is broken — not that they’re using the wrong function.
The Right Way
Use AVERAGE — but clean your data first. Do this:
| Step | Action | Result | Shortcut |
|---|---|---|---|
| 1 | Select B2:B12 (sales figures) | Range includes blanks, "", and numbers | Ctrl + G → Special → Blanks → OK |
| 2 | Press Delete | Truly blank cells remain blank; "" cells stay as text | Delete |
| 3 | Find & Replace: "" → leave Replace with blank → check 'Match entire cell contents' | Removes all zero-length strings | Ctrl + H |
| 4 | In C1, enter =AVERAGE(B2:B12) | Returns 47,280 — correct average of 7 values | Enter |
Sample data in B2:B12:
B2: 42,500 (Sarah Chen)
B3: (blank)
B4: ""
B5: 51,200 (James Lee)
B6: 45,200 (Acme Corp)
B7: " "
B8: 0
B9: 48,900 (Zephyr Ltd)
B10: #N/A
B11: 49,300 (Nova Labs)
B12: 46,400 (2024-03-15)
Proof It Works
Before cleaning (B2:B12): AVERAGE returns #N/A — because of B10.
After cleaning and removing "" and spaces: AVERAGE calculates cleanly across 7 numeric entries.
| Scenario | Formula | Result | Why |
|---|---|---|---|
| Raw data | =AVERAGE(B2:B12) | #N/A | Error in range breaks AVERAGE |
| After deleting true blanks only | =AVERAGE(B2:B12) | #N/A | Still contains #N/A and "" |
| After full cleanup | =AVERAGE(B2:B12) | 47,280 | 7 numbers: 42500+51200+45200+48900+49300+46400+0 = 283,500 ÷ 7 |
| Using AVERAGEIF to exclude zeros | =AVERAGEIF(B2:B12,">0") | 46,500 | Excludes B8 (0) → 6 values → 279,000 ÷ 6 |
Exceptions
The myth *is* correct in three narrow cases:
- You’re using
AVERAGEA— it treats "" as 0, and TRUE/FALSE as 1/0. So yes, it ‘ignores blanks’ less strictly. - Your data comes from Power Query or a database query where NULLs import as true blanks — Excel *will* ignore those.
- You’ve applied AutoFilter and are using
SUBTOTAL(1,range)— it ignores filtered-out rows *and* truly blank cells, but not "" or errors. - You’re using dynamic arrays in Excel 365 with
FILTER()first — e.g.,=AVERAGE(FILTER(B2:B12,B2:B12<>">""))— then blanks *are* excluded by design.
Here’s the fastest way to verify: select your range, press Alt + H + F + D (Home → Find & Select → Go To Special → Blanks). If more than expected are selected, you’ve got "" or spaces — not blanks.
Next step: Open your report sheet right now. Pick one AVERAGE formula. Press Ctrl + ~ to show formulas. Scan for "" or IF(...,""). Fix those cells — not the formula.