Formula troubleshooting
Fix Excel Formula Errors
Diagnose and fix the most common Excel formula errors, including #N/A, #VALUE!, #REF!, #DIV/0!, #NAME?, #NUM!, and #SPILL!.
Fast error diagnosis
- #N/A usually means a lookup did not find a match.
- #VALUE! usually means a formula received the wrong data type.
- #REF! usually means a referenced cell or range was deleted or moved.
- #SPILL! usually means a dynamic array formula cannot expand because cells are blocked.
Troubleshooting workflow
- Check the first error in the chain before fixing downstream formulas.
- Use Evaluate Formula to step through each argument.
- Use IFERROR for user-friendly output only after the formula logic is correct.
Structured error triage workflow
- Sort by error type (#N/A, #VALUE!, #REF!) before fixing — different root causes need different playbooks.
- Fix data quality on lookup keys before wrapping formulas in IFERROR or IFNA.
- Use Evaluate Formula on a copy when nested functions make the failing argument unclear.
- Document each fix on a changelog tab when correcting shared production models.
Recommended next steps
- Fix #N/A first on lookup columns — usually spaces, text vs number, or wrong match mode.
- Fix #VALUE! when text participates in math — use VALUE() or fix cell format before blaming the function.
- Fix #REF! after deleting rows or moving sheets — rebuild intentional ranges or undo structural changes.
- Fix #SPILL! on dynamic arrays — clear blocking cells below the formula or shrink the spill range.
Error-specific quick checks
- #N/A: EXACT(TRIM(A2),TRIM(LookupCell)) on three failing rows; confirm FALSE for exact match.
- #VALUE!: ISNUMBER on operands; confirm dates are serials not text.
- #REF!: trace precedents to deleted rows; replace whole-column refs cautiously on huge sheets.
- #DIV/0!: guard with IF(denominator=0,"",numerator/denominator) before IFERROR on display tabs.
People also ask
- Which Excel error should I fix first? Start with #N/A on lookups, then #VALUE!, then #REF! — each has a dedicated page in this directory.
- Is IFERROR bad practice? Not when logic is correct; dangerous when it hides unfixed lookup or type problems.
- Why #SPILL! after upgrading to M365? Legacy arrays may conflict — clear downstream cells and rebuild with dynamic functions.
Deep-dive function map for Fix Excel Formula Errors
- IFERROR (/functions/iferror/): Returns a specified value if a formula evaluates to an error; otherwise, returns the result of the formula. Example: =IFERROR(A1/B1, 0).
- ISERROR (/functions/iserror/): Returns TRUE if the value is any error value. Example: =ISERROR(A1/B1).
- XLOOKUP (/functions/xlookup/): Searches a range or an array, and returns an item corresponding to the first match it finds. If a match doesn't exist, XLOOKUP can return the closest (approximate) match. Example: =XLOOKUP("Apple", A2:A10, B2:B10).
- VLOOKUP (/functions/vlookup/): Looks for a value in the leftmost column of a table, and then returns a value in the same row from a column you specify. Example: =VLOOKUP("Apple", A2:C10, 2, FALSE).
- FILTER (/functions/filter/): Filters a range of data based on criteria you define. Returns an array of values that meet the specified conditions. Example: =FILTER(A2:D10, C2:C10>100).
Two-week study plan
- Week 1 — Read each related function page and copy one example per function into a practice Table.
- Week 2 — Apply this guide to a real export from your job; document fixes in a changelog tab.
- Explore categories: Logical, Lookup & Reference.
- Run the fix-excel-formula-errors checklist when any formula shows #N/A, #VALUE!, #REF!, or #SPILL!.
- Compare similar functions (VLOOKUP vs XLOOKUP, SUMIF vs SUMIFS) before standardizing team templates.
- Export a PDF snapshot of your completed practice workbook for future reference and onboarding.
Error and troubleshooting cross-links
- Fix #N/A (/errors/n-a/) — step-by-step causes and solutions in the error directory.
- Fix #VALUE! (/errors/value-error/) — step-by-step causes and solutions in the error directory.
- Fix #REF! (/errors/ref/) — step-by-step causes and solutions in the error directory.
- Fix #DIV/0! (/errors/div-0/) — step-by-step causes and solutions in the error directory.
- Fix #NAME? (/errors/name?/) — step-by-step causes and solutions in the error directory.
- Fix #NUM! (/errors/num/) — step-by-step causes and solutions in the error directory.
- Fix #SPILL! (/errors/spill/) — step-by-step causes and solutions in the error directory.