Skip to content
Blog/Excel
Excel

How to Fix the VLOOKUP #N/A Error in Excel

Fix VLOOKUP #N/A errors caused by missing keys, spaces, type mismatches, exact-match settings, or an incorrect lookup range.

Do this with AI

Try Griddy free

Start in your browser. Also works with Excel and Google Sheets.

By Justin Freels//7 min read

#N/A is the most common VLOOKUP error. It means Excel searched the first column of your table and genuinely couldn't find a match — or it looks like there's a match but something is preventing it from connecting. Here are the six causes, in order of how often they actually happen.

1. Extra spaces (most common)

Your lookup value says "Apple" but the table has "Apple " (with a trailing space). They look identical but they're not.

Fix: Test a cleaned helper value or wrap the lookup value in TRIM:

fx
=VLOOKUP(TRIM(A2), B:D, 2, FALSE)

Clean the source deliberately as well. Do not use Find & Replace to delete every space: valid values such as person names, company names, and North Carolina contain meaningful spaces. TRIM removes leading and trailing ordinary spaces while preserving one space between words; non-breaking characters may need targeted cleanup.

2. Text vs. number mismatch

Your lookup value is the number 42 but the table stores it as the text "42". They look the same in the cell but VLOOKUP treats them as different.

Check: Select a cell from each column and look at the alignment. Numbers align right by default, text aligns left.

Fix (number stored as text → convert to number):

fx
=VLOOKUP(VALUE(A2), B:D, 2, FALSE)

Fix (number in lookup → match text in table):

fx
=VLOOKUP(TEXT(A2, "0"), B:D, 2, FALSE)

3. Lookup value genuinely doesn't exist

The value in A2 simply isn't in the first column of your table. Check by using MATCH alone to confirm:

fx
=MATCH(A2, B:B, 0)

If this also returns #N/A, the value isn't there. Check for typos or whether you're looking in the right table.

4. Approximate match instead of exact match

If the fourth VLOOKUP argument is TRUE (or omitted), Excel uses approximate match — which returns wrong results when your data isn't sorted in ascending order.

Fix: Always add FALSE as the fourth argument:

fx
=VLOOKUP(A2, B:D, 2, FALSE)

5. Lookup column isn't the first column

VLOOKUP must search the leftmost column of your table range. If you're searching column C but your range starts at column B, Excel is looking in the wrong place.

Fix: Either start your range at column C, or switch to XLOOKUP or INDEX MATCH, which have no left-column requirement.

6. Wildcards needed for partial matches

You're looking up "Apple" but the table has "Apple Inc.". Exact match will fail.

Fix: Use a wildcard:

fx
=VLOOKUP("*"&A2&"*", B:D, 2, FALSE)

WATCH OUT

Wildcard VLOOKUP returns the first match it finds. If multiple rows contain the text, you'll get only one result — and not necessarily the one you want.

Show an expected missing result clearly

If some missing rows are expected, use IFNA so other formula errors remain visible, or use XLOOKUP's built-in fallback:

fx
=IFNA(VLOOKUP(A2, B:D, 2, FALSE), "Not found")
fx
=XLOOKUP(A2, B:B, D:D, "Not found")

Do not hide every #N/A until you confirm it represents an allowed missing record rather than a broken key or wrong source range.

Do this with AI

Debugging VLOOKUP errors usually means checking four or five things manually across two different columns. Just describe the situation:

"My VLOOKUP is returning #N/A for half the rows — the lookup values are order IDs and the table is on the Products sheet"

Griddy diagnoses the mismatch and fixes the formula.

Related guides: VLOOKUP returns the wrong value and XLOOKUP vs VLOOKUP.

Sources

Do this with AI

Turn the instructions into a finished spreadsheet.

Tell Griddy what you need in plain English, then inspect and keep editing the result in the browser, Excel, or Google Sheets.

Try Griddy freeStart in your browser. No download required.
Also works withExcel Google Sheets

Use this on real templates

Clean up lookup-heavy operating sheets

Lookup failures usually surface in lead lists, pipelines, and ops trackers where mismatched IDs or names break joins between tables.

Sales