Resources · Excel Errors

Excel error reference, with locale-specific notes.

A field guide to every #-prefixed value Excel produces. Each entry lists the technical cause, the locale-specific triggers we see most often in cross-border model migration, and the practical fix.

#NAME?

Unrecognised name in the formula

Cause
The parser found an identifier that is neither a defined name nor a function in the active locale.
Locale trigger
By far the most common cross-border failure: a workbook authored in English (=VLOOKUP(...)) is opened on a non-English locale that requires SVERWEIS, RECHERCHEV or BUSCARV. Run the formula through the translator.
Other causes
Misspelled function, missing colon in a range, a defined name removed from another sheet, a UDF in a workbook whose VBA project failed to load.
Fix
Press F2 on the cell, isolate the offending token, and either rename it or convert the entire formula to the local syntax.
#VALUE!

Wrong type of argument

Cause
An argument is the wrong type — text where a number was expected, or vice versa.
Locale trigger
A number written with the wrong decimal symbol is stored as text. "1.5" on a comma-decimal locale is treated as text and =A1+1 returns #VALUE!. Use NUMBERVALUE() with explicit decimal/group separators when importing data.
Other causes
Whitespace inside numeric strings, mixed-type column from a CSV import, dates stored as text in a regional format Excel did not auto-detect.
Fix
Use =ISTEXT(A1) to detect text-as-number; convert with VALUE, NUMBERVALUE, or Text-to-Columns.
#REF!

Reference is no longer valid

Cause
A formula references a cell, row, column, or sheet that no longer exists.
Locale trigger
External references with locale-specific path separators or sheet names containing characters that the target locale escapes differently.
Other causes
Rows or columns deleted; sheet renamed without updating dependents; a structured table dropped while formulas still point at it.
Fix
Use the Trace Precedents arrow (Alt+M, P) to find the broken link, then point it at the new location.
#DIV/0!

Division by zero (or empty)

Cause
The divisor evaluated to zero or to an empty cell coerced to zero.
Fix
Wrap with IFERROR(formula, 0) or, more precisely, IF(divisor=0, 0, formula). Prefer the explicit form in audit-grade models so that genuine errors are not silently masked.
#N/A

Value not available

Cause
A lookup did not find a match, or a function explicitly returned #N/A.
Locale trigger
Lookups against text keys often fail across locales because of invisible character differences — non-breaking spaces (U+00A0) imported from European HTML, or different Unicode normalisations.
Fix
Use IFNA rather than IFERROR when you specifically want to handle the not-found case without swallowing other errors. Clean lookup keys with TRIM + CLEAN + SUBSTITUTE(x, CHAR(160), " ").
#NULL!

Empty intersection of two ranges

Cause
A space character was used as the intersection operator between two ranges that do not overlap, e.g. =SUM(A1:A10 B1:B10).
Fix
Almost always a typo: a missing comma or semicolon between the two ranges. Add the correct argument separator for your locale.
#NUM!

Numeric value out of range

Cause
A function received a numerically valid but out-of-domain argument: SQRT(-1), IRR with no sign change in the cash flows, an iterative function that did not converge.
Fix
Validate the input domain before the call. For IRR, supply a guess argument; for RATE, ensure the cash-flow sign convention is consistent.
#SPILL!

Dynamic array cannot spill

Cause
A dynamic-array formula tried to spill into a range that is not entirely empty, or that intersects a merged cell or a structured table.
Fix
Clear the cells under the spill range. Dynamic arrays cannot spill into a structured-table column — convert the table back to a range or move the formula outside it.
#CALC!

Calculation engine cannot resolve the array

Cause
A nested array operation produced an empty array (FILTER with no matches), an array of arrays, or a cyclic dependency in dynamic-array land.
Fix
For empty FILTER results, supply the optional if_empty argument: =FILTER(range, criteria, ""). Avoid passing a dynamic array as both argument and source to the same function.
#BLOCKED!

External resource blocked by policy

Cause
A function that depends on an external connection (Stocks data type, linked picture, certain LAMBDAs) is blocked by IT policy or because the user has not granted the required permission.
Fix
Re-enable the data type or service in File → Options → Trust Center, or contact the policy owner.
#GETTING_DATA

Transient placeholder while a query runs

Cause
Not a true error — Excel is waiting on a Power Query refresh, a stock data type, or an asynchronous LAMBDA. The cell will resolve when the data returns.
Fix
If it persists for more than a minute on a small query, force a recalculation with Ctrl+Alt+F9. Persistent #GETTING_DATA usually indicates a stalled connection.

A general triage checklist

  1. Press F2 to enter the cell and confirm which token Excel highlights.
  2. Use Formulas → Evaluate Formula (Alt+M, V) to step through the calculation.
  3. Run the formula through the translator if you suspect a locale issue.
  4. Check intl.cpl to confirm the active decimal symbol and list separator.
  5. Trace precedents (Alt+M, P) to find the upstream cause.