ExcelReady
CourseMock testsFunction guidesBlog
Start freeStart learning for free
ExcelReady

Be Excel-ready before day one. Hands-on practice in your browser, with instant feedback.

Learn

  • Course
  • Mock tests
  • Function guides
  • Blog

Test prep

  • Excel level test
  • Excel test practice
  • Free screening quiz
  • Certificate

Company

  • About
  • Editorial policy
  • Contact
  • Terms
  • Privacy

© 2026 ExcelReady. All rights reserved.

  1. Blog
  2. Lookups
  3. VLOOKUP Return Blank Instead of 0

VLOOKUP Return Blank Instead of 0

By ExcelReady Team·Updated November 2, 2026·6 min read

The short answer

VLOOKUP shows 0 when the cell it returns is empty. To return a blank instead, test the result and swap it for empty text: =IF(VLOOKUP(E2,A2:C6,3,FALSE)="","",VLOOKUP(E2,A2:C6,3,FALSE)). A shorter trick is =VLOOKUP(E2,A2:C6,3,FALSE)&"", but that turns numbers into text. In Microsoft 365, LET avoids repeating the lookup.

Key takeaways

  • VLOOKUP returns 0 for an empty cell because a formula can't return 'nothing'.
  • =IF(VLOOKUP(...)="","",VLOOKUP(...)) is the safe fix that keeps numbers as numbers.
  • Adding &"" is shorter but turns every result into text.
  • LET in Microsoft 365 or Excel 2021 runs the lookup once: =LET(x,VLOOKUP(...),IF(x="","",x)).
  • Wrap the formula in IFNA to handle IDs that are not found at all.
On this page+
  1. Why does VLOOKUP return 0 for an empty cell?
  2. Fix 1: wrap VLOOKUP in IF
  3. Fix 2: add &"" to the end
  4. Fix 3: use LET to look up only once
  5. Fix 4: INDEX and MATCH with ISBLANK
  6. Fix 5: hide zeros with a number format
  7. How to handle blanks and #N/A together
  8. Which fix should you use?
  9. Practise it

When VLOOKUP finds a match but the cell it should return is empty, it shows 0. To make VLOOKUP return a blank instead of 0, you check the result with IF and swap an empty result for empty text (""). This guide shows that fix, two shorter alternatives, and how to handle IDs that aren't found at all.

Why does VLOOKUP return 0 for an empty cell?#

A formula always has to return something, and Excel shows an empty result as 0. VLOOKUP finds the row, reads the cell, and passes back its value. When the cell is empty, the formula cell displays 0.

Here is a phone list where two people have no extension:

ABC
1IDNameExt
2101Priya2041
3102Tom
4103Lina2187
5104Omar
6105Sofia2230

With 102 in E2, this formula returns 0:

Excel formula
=VLOOKUP(E2,A2:C6,3,FALSE)

The 0 is misleading: Tom doesn't have extension 0, he has none. With dates it is worse. An empty date cell comes back as 0, which Excel may display as 00/01/1900. If VLOOKUP itself is new to you, read the VLOOKUP guide or the VLOOKUP function reference first.

Fix 1: wrap VLOOKUP in IF#

Run the lookup once to test it, and again to return the value. If the result equals "", show "":

Excel formula
=IF(VLOOKUP(E2,A2:C6,3,FALSE)="","",VLOOKUP(E2,A2:C6,3,FALSE))

For 102, the cell now looks empty. For 101, it shows 2041, still as a real number you can calculate with. Read it as: "If the lookup is empty, show nothing, otherwise show the lookup."

You can show a word instead of a blank, such as "No extension", by changing the middle argument. The IF function guide explains the three arguments.

Note that the test uses ="", not ISBLANK. VLOOKUP hands back a value, not the cell itself, so ISBLANK(VLOOKUP(...)) returns FALSE even when the source cell is empty.

Fix 2: add &"" to the end#

Joining empty text to the result is the shortest fix:

Excel formula
=VLOOKUP(E2,A2:C6,3,FALSE)&""

An empty cell becomes "", so the result looks blank. The catch: every result becomes text. For 101 you get the text "2041", not the number 2041. That is fine for names, codes and extensions, but SUM ignores text, and comparing it with a number fails. Avoid this trick for amounts, quantities and dates.

Fix 3: use LET to look up only once#

In Microsoft 365 and Excel 2021, LET stores the lookup in a name, so Excel runs it only once:

Excel formula
=LET(x,VLOOKUP(E2,A2:C6,3,FALSE),IF(x="","",x))

The result is the same as Fix 1, and the formula is shorter and faster on big sheets. If a colleague opens the file in Excel 2019 or older, LET shows #NAME?, so use Fix 1 for shared files.

Fix 4: INDEX and MATCH with ISBLANK#

INDEX returns a reference to the cell, not just its value, so ISBLANK works on it:

Excel formula
=IF(ISBLANK(INDEX(C2:C6,MATCH(E2,A2:A6,0))),"",INDEX(C2:C6,MATCH(E2,A2:A6,0)))

This gives the same result as Fix 1. It is useful if your sheet already uses INDEX and MATCH, or if you want ISBLANK's strict meaning: TRUE only for a truly empty cell. The lesson on IS functions shows how ISBLANK, ISNUMBER and ISTEXT check what is really in a cell.

XLOOKUP behaves like VLOOKUP here: it also shows 0 for an empty result. Wrap it in IF in the same way, or add &"".

Fix 5: hide zeros with a number format#

If you only need the zeros to disappear on screen, change the format, not the formula. Select the cells, press Ctrl+1 (Mac: ⌘1), choose Custom, and enter:

0;-0;;@

The third part, between the second and third semicolons, is the format for zero. Leaving it empty hides zeros. The value is still 0, so SUM and other formulas treat it as 0.

This hides real zeros too. If a true 0 means something, such as a stock level, use Fix 1 instead. Pivot tables have a similar problem with empty cells, covered in showing zero in empty pivot cells.

How to handle blanks and #N/A together#

A blank result and a missing ID are different problems. An empty cell gives 0; an ID that isn't in the list gives #N/A. Handle both by wrapping Fix 1 in IFNA:

Excel formula
=IFNA(IF(VLOOKUP(E2,A2:C6,3,FALSE)="","",VLOOKUP(E2,A2:C6,3,FALSE)),"Not found")

For 104 (Omar) the cell is blank, for 101 it shows 2041, and for 999 it shows Not found. Use IFNA rather than IFERROR, so that real mistakes, such as a wrong column number, still show up. Keep FALSE as the last VLOOKUP argument, too: the article on VLOOKUP exact match explains why. If you return several columns at once, the same fix applies to each one; see VLOOKUP with multiple columns.

Which fix should you use?#

Choose the fix by what the column holds and who will open the file.

Your situationBest fix
Numbers or dates you will calculate withFix 1 (IF) or Fix 3 (LET)
Text such as names, codes or notesFix 2 (&"")
Only Microsoft 365 or Excel 2021 usersFix 3 (LET)
You only need the zeros hidden on screenFix 5 (number format)

Two mistakes are common. The first is writing the test as =IF(VLOOKUP(...)=0,"",...). That also hides real zeros, such as a stock count of 0, so test for "" instead. The second is leaving out FALSE in VLOOKUP. Without it, VLOOKUP uses an approximate match and can return a value from the wrong row, which no blank fix will catch.

Practise it#

Clean lookup results make a report easy to trust. Practise VLOOKUP in a live spreadsheet: you write each lookup and the lesson checks it instantly. Then practise ISBLANK and the IS functions to test what a cell really holds before you show it.

Try it yourself

This is a live spreadsheet. Type the formula in the green cell and press Enter.

Omar (ID 104 in E2) has no extension, so a plain VLOOKUP shows 0. In F2, wrap VLOOKUP in IF so the cell shows No extension when the result is empty, and the extension otherwise.

fx
ABCDEFG
1
ID
Name
Ext
Find ID
2
101
Priya
2041
104
3
102
Tom
4
103
Lina
2187
5
104
Omar
6
105
Sofia
2230
7
8
9

Tip: Test VLOOKUP(...)="" first, then the text No extension, then the same VLOOKUP again.

Practise this in a lesson

LessonVLOOKUP exact matchPull product names and prices from a catalog with VLOOKUP, and lock the table so the formula fills down cleanly.LessonIS functions and SWITCHCheck what's really in a cell with ISBLANK, ISNUMBER and ISTEXT, and turn short codes into labels with SWITCH.Function guideVLOOKUPLearn VLOOKUP with clear examples, the 4 most common mistakes, and a live practice exercise you can try in your browser.Function guideIFLearn Excel's IF function with practical examples: flag budgets, label rows and return blanks. Avoid the classic mistakes and practice live.

Frequently asked questions

Why does VLOOKUP return 0 instead of blank?

+

When the matching cell is empty, VLOOKUP passes back an empty value, and a formula cell shows an empty value as 0. The lookup worked; there was just nothing to return.

How do I make VLOOKUP return blank if the cell is empty?

+

Test the result and return empty text: =IF(VLOOKUP(E2,A2:C6,3,FALSE)="","",VLOOKUP(E2,A2:C6,3,FALSE)). The cell then looks empty when the source is empty, and shows the value otherwise.

Does XLOOKUP return 0 for blank cells too?

+

Yes. XLOOKUP also shows 0 when the cell it returns is empty. Use the same fixes: wrap it in IF, add &"", or use LET.

How do I hide zeros without changing the formula?

+

Apply the custom number format 0;-0;;@ to the cells. Zeros become invisible, but real zero values are hidden too, so only use it when a true 0 never matters.

Sources

  • VLOOKUP function - Microsoft Support
  • IF function - Microsoft Support
  • Create a custom number format - Microsoft Support

Written and checked by the ExcelReady Team. First published November 2, 2026. The practice exercise runs in the same formula engine as our lessons. Found a mistake? Read our editorial policy or email hello@excelready.app.

On this page

  1. Why does VLOOKUP return 0 for an empty cell?
  2. Fix 1: wrap VLOOKUP in IF
  3. Fix 2: add &"" to the end
  4. Fix 3: use LET to look up only once
  5. Fix 4: INDEX and MATCH with ISBLANK
  6. Fix 5: hide zeros with a number format
  7. How to handle blanks and #N/A together
  8. Which fix should you use?
  9. Practise it

Keep reading

Lookups· 6 min read

VLOOKUP to Return Several Columns at Once

To make VLOOKUP return multiple columns, lock the lookup cell and table with $ signs and let COLUMN supply the column number as you copy right: =VLOOKUP($F2,$A$2:$D$6,COLUMN(B1),FALSE). In Microsoft 365, =VLOOKUP(F2,A2:D6,{2,3,4},FALSE) spills all three columns at once. XLOOKUP can return several columns by selecting them as the return range.

Data tools· 5 min read

Show Zero Instead of Blank in a Pivot Table

Right-click any cell in the pivot table and choose PivotTable Options. On the Layout & Format tab, tick For empty cells show, type 0 in the box and click OK. Every empty value cell now shows 0, and the setting stays when you refresh. You can type a dash or text such as n/a instead of 0.

Lookups· 6 min read

VLOOKUP in Excel: Step-by-Step for Beginners

VLOOKUP finds a value in the first column of a table and returns a value from the same row in another column. Write =VLOOKUP(what to find, table, column number, FALSE). FALSE means exact match, which is what you want for IDs, codes and names. If nothing matches, VLOOKUP returns #N/A.

More on lookups

  • VLOOKUP Column Index Number Explained
  • VLOOKUP Exact Match: Why FALSE Matters
  • VLOOKUP Across Multiple Sheets in Excel
  • VLOOKUP Not Working? 8 Causes and Fixes
  • VLOOKUP With Numbers Stored as Text
  • VLOOKUP Second Match: Return the Nth Occurrence in Excel
All lookups articles →

Don't just read about Excel. Do it.

Practise real formulas in a live spreadsheet with instant feedback, right in your browser. Nothing to download.

Start learning for free