#NAME? Error
Excel doesn't recognize something in your formula. Usually a function name typo — you wrote VLOKUP instead of VLOOKUP. Sometimes it's missing quotes around text, an undefined range name, or a function that doesn't exist in your Excel version.
Signals Excel couldn't identify a name in your formula — a function name, a range name, or a text string that should have been quoted. The good news: #NAME? is almost always a simple typing error, easy to fix once you spot it.
What #NAME? means
When Excel parses your formula, it identifies certain tokens as names: function names (SUM, VLOOKUP, IF), range names (Sales_2026, TaxRate), and text-typed operators. If it encounters a token it doesn't recognize as any of these, it returns #NAME?. Unlike #VALUE! or #N/A which are about data, #NAME? is about the formula's language itself — Excel is saying "I don't know what this word means."
#NAME? is often the fastest error to diagnose because Excel highlights the exact spot in the formula bar where the unrecognized name lives. Click on the cell, look at the formula bar, and the offending part is usually obvious. Fix the typo, quote the text, or define the name — done.
💡 Excel's autocomplete usually prevents #NAME?
As you type a function name, Excel shows a dropdown of matching functions. Pressing Tab (or clicking) auto-completes the name correctly. If you're getting #NAME? errors frequently, you may have autocomplete turned off (File → Options → Formulas → "Formula AutoComplete") or you're pasting formulas from elsewhere. Turn it on and half your #NAME? issues disappear.
The 5 root causes of #NAME?
You wrote VLOKUP instead of VLOOKUP, or SUMM instead of SUM. Excel doesn't recognize the misspelled function name. Most common cause of #NAME? by far.
You wrote =IF(A1=Yes, 1, 0) instead of =IF(A1="Yes", 1, 0). Without quotes, Excel treats Yes as a range name, doesn't find one, returns #NAME?.
Your formula references a name like TaxRate that was never defined in Name Manager, or was defined but later deleted. Excel can't resolve the name.
You opened a file with LAMBDA or XLOOKUP in Excel 2016. Those functions don't exist in that version, so Excel returns #NAME?. Sending files with modern functions to older Excel users creates this.
You wrote =SUM(A1 A10) with a space instead of =SUM(A1:A10). Excel interprets the space as the intersection operator, then can't find any actual name, returns #NAME?.
5 real-world fix scenarios
Simple misspelling
You typed VLOOKUP with only one O.
Prevention: use autocomplete — start typing "VLO" and pick the correct name from the dropdown. Faster than typing the whole thing.
Text argument without quotes
You wrote a comparison where the text isn't quoted. Excel treats it as a named range that doesn't exist.
Rule: any text value in a formula must be in double quotes. Cell references and numbers don't need quotes; text does.
Reference to a name that doesn't exist
You wrote =SUM(Sales) assuming Sales was a named range, but it was never defined (or was defined and someone deleted it from Name Manager).
Diagnostic: Formulas → Name Manager lists every defined name. If your reference isn't there, that's your problem.
Modern function in older Excel
File uses XLOOKUP but recipient opens it in Excel 2016. Every XLOOKUP shows #NAME?.
Long-term: if you must send to older Excel, avoid XLOOKUP, LAMBDA, FILTER, SORT, UNIQUE. Use classic replacements. Or upgrade the recipient's Excel.
Range with space triggers intersection
You typed a space between two cell references thinking it was a range separator.
Rule: : for range, , for union, (space) for intersection. The intersection operator is rare; if you didn't mean it, you probably typed a space when you wanted a colon or comma.
Prevention checklist
Reducing #NAME? errors to zero
- Turn on Formula AutoComplete. File → Options → Formulas → check "Formula AutoComplete". Function names auto-suggest as you type.
- Use Insert Function button (fx). To the left of the formula bar. Search functions by name or category, avoiding typos entirely.
- Always quote text arguments. If it's not a cell reference or a number, it needs double quotes.
- Audit Name Manager regularly. Formulas → Name Manager. Delete orphaned names, verify all names still resolve.
- Know your Excel version's function set. LAMBDA, XLOOKUP, LET, FILTER, SORT, UNIQUE require 365 or 2021+. TEXTJOIN and IFS require 2019+.
- Check the yellow warning triangle. Click it and select "Show Calculation Steps" to see exactly which token Excel doesn't recognize.
- Use Formulas → Trace Error. Shows the diagnostic dialog for the selected cell's error.
#NAME? vs other errors
Version compatibility
The error itself exists in every Excel version. What triggers it varies: newer functions returning #NAME? in older versions is a common cause.
Related errors and resources
Frequently asked questions
Why does the formula work for me but return #NAME? for my colleague?
Version mismatch. You're on Excel 365 or 2021 with functions like XLOOKUP, LAMBDA, FILTER, SORT, UNIQUE, TEXTJOIN, or IFS. Your colleague is on Excel 2019 or 2016, where those functions don't exist. Either upgrade their Excel or rewrite formulas using older equivalents.
How can I check which named ranges exist in my workbook?
Formulas → Name Manager (or CTRL+F3). Shows every defined name in the workbook with its current reference. You can filter to find names with errors, edit them, or delete orphaned ones.
Do I need quotes around numbers in formulas?
No — numbers are numbers. =A1*100 works fine. Quotes turn things into text: =A1*"100" works because Excel coerces "100" back to 100, but it's needlessly confusing. Reserve quotes for actual text values.
What's the difference between #NAME? and #REF!?
#NAME? means Excel can't identify a word/token in the formula. #REF! means Excel identified a reference, but the location it points to has been destroyed. #NAME? is about parsing; #REF! is about resolution.
Can I paste formulas between different language versions of Excel?
This used to be a common #NAME? cause — French Excel uses SOMME instead of SUM, etc. Modern Excel typically translates automatically on paste, but not always. If you're pasting between languages and getting #NAME?, translate the function names manually.
Why does IFERROR sometimes hide a real bug?
Because IFERROR catches every error including #NAME?, which almost always indicates a real bug (typo, missing name, wrong version). If you wrap the whole formula in IFERROR, you'll never see the #NAME? and won't know your formula is silently broken. Fix the root cause instead.
Are custom LAMBDA functions a source of #NAME?
Yes. LAMBDAs saved to Name Manager under a name like "MyTaxCalc" are called as =MyTaxCalc(A2). If Name Manager doesn't have MyTaxCalc defined (or it was deleted, or the workbook was opened without preserving names), you get #NAME?. Check Name Manager first.
Catch every typo before it costs you.
The Add-in flags misspelled function names, undefined ranges, and version-incompatible functions BEFORE they break your workbook.
Get the Add-in →