Excel Error Messages Explained: #N/A, #VALUE!, #REF!, #NAME? and Every Other Error
Excel has ten distinct error messages. Each one is trying to tell you something specific — if you know how to read them. This guide covers what each error means, the most common causes, and exactly how to fix (or hide) each one. Bookmark this and stop guessing.
What's in this guide
- All errors at a glance
- #N/A — Not Available
- #VALUE! — Wrong data type
- #REF! — Broken reference
- #NAME? — Unknown name
- #DIV/0! — Division by zero
- #NULL! — Empty intersection
- #NUM! — Invalid number
- #SPILL! — Spill blocked
- #CALC! — Calculation problem
- #GETTING_DATA — Async loading
- Catching errors gracefully
- Debugging systematically
- Google Sheets equivalents
All errors at a glance
| Error | Meaning | Usual cause |
|---|---|---|
| #N/A | Not available | Lookup didn't find a match |
| #VALUE! | Wrong type | Text where number expected (or vice versa) |
| #REF! | Broken reference | Deleted cell/sheet/column |
| #NAME? | Unknown name | Typo in function or named range |
| #DIV/0! | Division by zero | Denominator is 0 or blank |
| #NULL! | Empty intersection | Missing comma between ranges |
| #NUM! | Invalid number | Out-of-range value or impossible math |
| #SPILL! | Spill blocked | Dynamic array can't fill (cells not empty) |
| #CALC! | Calculation error | Empty array or unsupported calculation |
| #GETTING_DATA | Data loading | External source still returning results |
#N/A — Not Available
The most common error in real workbooks. Something looked for a value and couldn't find it.
Where it comes from
- VLOOKUP, HLOOKUP, XLOOKUP — lookup value not in the lookup range
- MATCH — search value not in the array
- INDEX/MATCH combos — inner MATCH returns #N/A
- Anywhere you deliberately return NA() as a placeholder
Common causes and fixes
Extra whitespace in the source or lookup
=VLOOKUP(A2, Table, 2, FALSE) → #N/A
=VLOOKUP(TRIM(A2), Table, 2, FALSE). Better: clean the source data with TRIM once, save the values back.Number stored as text
Order ID 1005 (number) doesn't match Order ID '1005' (text)
=VLOOKUP(VALUE(A2), Table, 2, FALSE). Or convert the whole column: select → Data → Text to Columns → Finish (with no changes) forces re-evaluation.Wrong lookup direction
=VLOOKUP(A2, B:D, 2, FALSE) trying to look left of the lookup column
Case-sensitive vs insensitive
"MSFT" vs "msft" — VLOOKUP treats them as equal, but EXACT-based lookups don't
How to catch it
IFNA — the right way
=IFNA(VLOOKUP(A2, Table, 2, FALSE), "Not found")
IFERROR swallows every error including real bugs. IFNA only catches "not found" — the intended error case for lookups — while letting genuine problems surface.
#VALUE! — Wrong data type
Excel got a data type it wasn't expecting. Numeric functions received text; text functions received errors; date functions got a non-date.
Common causes
Adding text to a number
=5 + "apple" → #VALUE!
Text that looks like a number but isn't
=A1+A2 where A2 is "$1,234.56" imported as text
Hidden characters from imports
=A1*2 fails because A1 has invisible non-breaking spaces from a web copy
=VALUE(TRIM(CLEAN(A1))) * 2Range where single value expected
=LEN(A1:A10) → #VALUE! in older Excel
=LEN(A1) or SUMPRODUCT wrapper.Date arithmetic on text
=A1+30 where A1 is "2026-01-15" as text, not a date
=DATEVALUE(A1)+30The systematic fix
When you get #VALUE!, click into the formula and use F9 on individual parts to see what each returns. Excel highlights the offending part.
#REF! — Broken reference
The formula points at something that doesn't exist anymore.
Common causes
- You deleted a row/column/sheet that a formula referenced
- You pasted a formula into a location that would push its references off the grid
- You moved cells around and broke the linking pattern
- An INDIRECT reference points at a missing sheet or cell
What it looks like in the formula bar
=SUM(A1, #REF!, C1) ← someone deleted column B
Recovery
- Immediate Ctrl+Z — undo the deletion that caused it, if you just noticed
- Trace precedents — Formulas → Trace Precedents shows what the formula was trying to reference before the break
- Edit the formula — replace #REF! with the correct new reference
- Named ranges — if you named the range instead of using cell addresses, deleting cells within the named range often preserves the formula automatically
Prevention
- Use Excel Tables — they self-adjust when rows/columns change
- Use structured references (
Table1[Sales]) instead of cell addresses - Use named ranges for anything referenced from multiple formulas
- Before deleting, run Find & Replace on the workbook for the cell address you're about to remove — quick sanity check
#NAME? — Unknown name
Excel doesn't recognize part of the formula. Something is spelled wrong, or refers to something that doesn't exist.
Common causes
Typo in function name
=SUMM(A1:A10) → #NAME?
=VLOKUP(A2, ...) → #NAME?
=IFF(A1>0, ...) → #NAME?
Missing quotes around text
=IF(A1>0, Positive, Negative) → #NAME?
=IF(A1>0, "Positive", "Negative") ← correct
Non-existent named range
=SUM(Sales) → #NAME? if there's no named range called "Sales"
Function only available in newer Excel
=XLOOKUP(...) → #NAME? in Excel 2016 or older
Missing colon in range
=SUM(A1 A10) → #NAME?
=SUM(A1:A10) ← correct
#DIV/0! — Division by zero
Excel refuses to divide by zero (or by a blank cell, which it treats as zero).
Common causes
- Denominator is literally 0
- Denominator cell is empty (Excel treats blank as 0)
- AVERAGE of an empty range
- Any calculation that boils down to division by zero
Fix
Guard the divisor
=IF(B1=0, 0, A1/B1)
IFERROR wrapper
=IFERROR(A1/B1, 0)
The Excel idiom
=IF(B1, A1/B1, 0)
#NULL! — Empty intersection
Rare but distinctive. Happens when you use a space between two ranges (Excel's intersection operator) that don't overlap.
Intended intersection
=SUM(A1:B5 A2:C10) → #NULL! if the ranges don't overlap
Actual usual cause
You meant to type a comma between arguments but typed a space instead:
Fat-fingered separator
=SUM(A1:A10 C1:C10) → treats space as intersection operator
=SUM(A1:A10, C1:C10) ← what you meant
When you see #NULL!, look for a space between things that should be separated by commas or arithmetic operators.
#NUM! — Invalid number
Excel got a number it can't work with — too big, too small, negative when positive was required, or the calculation didn't converge.
Common causes
Number too large
=10^1000 → #NUM! (Excel's max is around 10^308)
Negative in a function that needs positive
=SQRT(-9) → #NUM!
=DATE(-1, 5, 10) → #NUM!
Iterative calculation didn't converge
=RATE(A1, B1, C1) → #NUM! if the values don't produce a solvable rate
=RATE(A1, B1, C1, 0, 0, 0.05)Impossible date
=DATE(2026, 13, 45) → returns a valid date via rollover, but
=DATE(1899, 12, 31) → #NUM! (before Excel's date epoch)
#SPILL! — Spill blocked
Modern-Excel error (365, 2021, and newer). A dynamic array formula tried to fill multiple cells but couldn't because the target cells weren't empty.
Common causes
- Data or another formula sitting in the spill path
- Merged cells anywhere the spill would land
- The formula is inside an Excel Table (Tables can't contain spills)
- Circular reference — formula referencing its own spill range
Fix
- Click the yellow warning icon on the formula
- Excel selects the obstructing cells for you
- Clear them, unmerge them, or move the formula elsewhere
For the Excel Table case: dynamic array formulas need to live outside Tables. Move the formula to a regular range.
See the Dynamic Arrays Complete Guide for the full spill-error diagnostic checklist — including subtle causes like formatting conflicts and out-of-memory situations.
#CALC! — Calculation problem
Newer error that appears when a modern function can't complete a calculation. Usually means an empty array where content was expected.
Common causes
- FILTER with all-false conditions and no if_empty argument
- UNIQUE of an entirely empty range
- Nested LAMBDA that returns an empty array
- Very complex array operations that Excel can't complete
Fix
Provide an if_empty for FILTER
=FILTER(A2:A100, B2:B100="West", "No matches")
#GETTING_DATA — Async loading
Not really an error — a status. Excel is still fetching data from an external source (Power Query, real-time data, stock quotes, currency conversions). Wait a moment.
If it stays #GETTING_DATA for a long time:
- Check the data source is responding (Power Query → Refresh)
- Check your internet connection
- For stock/currency: verify the ticker or currency code is valid
Catching errors gracefully
IFERROR — catch everything
=IFERROR(A1/B1, "n/a")Returns "n/a" for any error. Simple and general.
IFNA — catch only #N/A
=IFNA(VLOOKUP(A2, table, 2, FALSE), "Not found")Catches only the "not found" case. Other errors (like #REF!) still show — usually a good thing because they indicate real bugs.
ISERROR + IF — for conditional logic
=IF(ISERROR(A1/B1), "Bad data", A1/B1)Slightly more verbose than IFERROR, but sometimes clearer intent.
Type-specific error detection
Excel has ISERR (all errors except #N/A), ISNA (only #N/A), ISERROR (all errors including #N/A). Use them when your logic depends on the specific error type.
IFERROR is powerful and dangerous. Wrapping every formula in IFERROR hides real bugs. A better pattern: fix the underlying issue, and use IFNA only for lookups where "not found" is a legitimate outcome.
Debugging errors systematically
Step 1: Read the error type
The type tells you the category. #N/A means lookup failed. #REF! means broken reference. Don't just react — think about which category applies.
Step 2: Use F9 in the formula bar
Click into a formula, select a piece of it, press F9. Excel evaluates that piece and shows the result inline. Press Esc to restore. This is the fastest way to find which sub-expression is producing the error.
Step 3: Evaluate Formula
Formulas → Evaluate Formula walks through the calculation step by step, showing each intermediate result. Slower than F9 but more thorough for complex formulas.
Step 4: Trace precedents / dependents
Formulas → Trace Precedents (Ctrl+[) draws arrows to cells the formula reads. Trace Dependents (Ctrl+]) shows cells that reference the current one. Perfect for tracking down where bad data enters.
Step 5: Check data types
Numbers stored as text look identical but behave differently. Format cells → Number type reveals the actual storage. Text-as-number is the source of maybe 40% of all Excel errors.
Step 6: Isolate in a helper cell
Copy the failing formula into a scratch cell. Break it into smaller pieces. Watch each piece's output. The error appears at exactly one step — that's the one to fix.
- Does the lookup value exist in the source? (Ctrl+F to search)
- Are both values the same type — number vs text?
- Are there hidden spaces or characters? (TRIM/CLEAN test)
Google Sheets equivalents
Sheets errors are mostly the same, with a few differences:
| Excel | Sheets equivalent |
|---|---|
| #N/A | #N/A (same behavior) |
| #VALUE! | #VALUE! (same) |
| #REF! | #REF! (same) |
| #NAME? | #NAME? (same) |
| #DIV/0! | #DIV/0! (same) |
| #NUM! | #NUM! (same) |
| #NULL! | Doesn't exist — Sheets doesn't use the intersection operator |
| #SPILL! | Sheets doesn't spill blocking like Excel — arrays overwrite |
| #GETTING_DATA | Loading indicators shown differently |
| — | #ERROR! — Sheets-specific parse error (bad syntax) |
Sheets adds one Excel doesn't have: #ERROR! for formula parse errors. Usually a missing bracket, extra comma, or unmatched quote in the formula string.
Debug errors without staring at them
Every workbook has a moment where you stare at a formula wondering which cell is wrong. Excel Wizard reads your workbook, traces the error back to the source data or reference that's causing it, and suggests specific fixes — often with a one-click apply.
Install Excel Wizard →Frequently asked questions
What does #N/A mean in Excel?
"Not available" — a lookup couldn't find the value. Fix by cleaning source data (TRIM, VALUE), checking data types, or wrapping in IFNA for a friendly fallback.
What does #VALUE! mean in Excel?
Wrong data type — text where a number was expected, or vice versa. Clean with VALUE, TRIM, CLEAN. F9 through the formula to find the offending piece.
What does #REF! mean in Excel?
The formula references a cell that no longer exists — usually because you deleted rows/columns/sheets. Edit the formula to fix. Prevent with Tables and named ranges.
What does #NAME? mean in Excel?
Excel doesn't recognize a function or name. Typo in the function, missing quotes on text, or a function from a newer Excel version. Check spelling and version support.
How do I hide errors in Excel?
Wrap with IFERROR (catches all errors) or IFNA (catches only #N/A). Prefer IFNA for lookups — hiding all errors globally masks real bugs.