The VLOOKUP function in Excel is very useful to search for matching results within a large dataset. However, this function has a few limitations by design. For example, if the matching result points to a blank cell, the VLOOKUP function will return a 0 instead of an empty value. This becomes problematic when you need to know whether the matching result is really 0 or empty. In this article, we will show a quick solution to the “Excel VLOOKUP returning 0″ issue.
A Quick Solution When Excel VLOOKUP Is Returning 0 Instead of Exact Value
Consider the following VLOOKUP function that returns 0 although the matching result is an empty cell.
=VLOOKUP(E5,B5:C12,2,FALSE)
Now, follow the below steps to fix the issue.
Step 1: Using the IF Function to Stop VLOOKUP Returning 0
- You can use the IF function to create the following formula to return blanks instead.
=IF(VLOOKUP(E5,B5:C12,2,FALSE)="","",VLOOKUP(E5,B5:C12,2,FALSE))
- If you change the lookup_value, the formula will work fine.
Step 2: Applying the IFERROR Function to Stop VLOOKUP Returning Errors
- You can combine the above formula with the IFERROR function to return blanks in case of errors.
=IFERROR(IF(VLOOKUP(E5,B5:C12,2,FALSE)="","",VLOOKUP(E5,B5:C12,2,FALSE)),"")
Here, the IFERROR function returns blanks if the IF formula results in an error.
Step 3: Utilizing LEN and ISNUMBER functions
- You can also use the LEN function to check if the VLOOKUP formula points to a blank cell as follows.
=IF(LEN(VLOOKUP(E5,B5:C12,2,FALSE))=0,"",VLOOKUP(E5,B5:C12,2,FALSE))
- Alternatively, you can use the ISNUMBER function as follows if you need to return numbers only.
=IF(ISNUMBER(VLOOKUP(E5,B5:C12,2,FALSE)),VLOOKUP(E5,B5:C12,2,FALSE),"")
How to Fix VLOOKUP Returning Blank Instead of Value in Excel
Sometimes VLOOKUP may return blank even if there are other matching values in case the first matching value points to an empty cell. Because VLOOKUP returns the first matching result only.
- You can use the IF function with the FILTER function to return all matching values instead.
=IF(FILTER(C5:C12,B5:B12=E5)="","",FILTER(C5:C12,B5:B12=E5))
- You can use the TEXTJOIN function to ignore the blanks and concatenate other matching results in the formula cell.
=TEXTJOIN(",",TRUE,IF(FILTER(C5:C12,B5:B12=E5)="","",FILTER(C5:C12,B5:B12=E5)))
The TEXTJOIN function concatenates all the values in the array (ignoring empty results) returned by the IF formula into a single cell separated by a comma.
Things to Remember
- You need to press CTRL + SHIFT + Enter to apply the array formulas if you are not using Microsoft 365.
- The VLOOKUP function always picks up the first matching result in the lookup_array ignoring all other results.
Download Practice Workbook
You can download the practice workbook from the download button below.
Conclusion
Now you know how to stop the VLOOKUP function in Excel from returning 0 instead of a matching value. Do you have any further queries or suggestions? Please let us know in the comment section below. Stay with us and keep learning.
Related Articles
- [Fixed!] Excel VLOOKUP Drag Down Not Working
- [Fixed!] Excel VLOOKUP Returning #N/A Error
- [Fixed!] Excel VLOOKUP Not Returning Correct Value
- [Fixed!] Excel VLOOKUP Function Not Calculating Automatically
- [Fixed!]: VLOOKUP Function Is Returning Same Value in Excel
- Why VLOOKUP Returns #N/A When Match Exists
- VLOOKUP Is Returning Just Formula Not Value in Excel
- [Fixed!] Excel VLOOKUP Not Working Due to Format
- [Fixed!] VLOOKUP Not Working Between Sheets
- VLOOKUP Not Picking up Table Array in Another Spreadsheet
- Excel VLOOKUP Returning Column Header Instead of Value
- [Solved]: Excel VLOOKUP Not Working with Numbers