Excel VLookup Not Finding Values that Look Like Dates

I am having trouble with vendor item numbers that look like dates, for example 10-31. When I try to do a VLookup on the row containing that value, I always get #N/A as a result, even though the value exists on the sheet. My original formula was as follows.

 =VLOOKUP(A2,Sheet2!$A$2:$C$500,3,FALSE)

That worked fine for vendor item numbers that were alpha-numeric, but not for numeric values. I change it to the following which works fine for everything but one item number that looks like a date (10-31).

 =VLOOKUP(IFERROR(VALUE(A2),A2),Sheet2!$A$2:$C$500,3,FALSE)

I have to stop the macro, manually fix the error by typing in the value instead of doing a VLookup, and then finish the macro.

I have tried formatting both columns as text before running the macro, but that makes no difference.

I'm at a loss to know how to fix this, and could really use some help.
maderitetechAsked:
Who is Participating?
 
Saqib Husain, SyedEngineerCommented:
Try

=IFERROR(VLOOKUP(C2,Sheet2!$A$2:$C$17,3,FALSE),VLOOKUP(VALUE(C2),Sheet2!$A$2:$C$17,3,FALSE))
0
 
andrew_manCommented:
Would you mind to post your worksheet here?
0
 
FaustulusCommented:
Your original formula works fine for me where both columns are formatted as Text.
Could it be that you are shutting the stable doors after the horses have escaped?
Once Excel decides that "10-31" is a date the entry is converted to "Oct 31" with a cell value of 41578, the year 2013 being presumed. Once that change has been made, whether for the lookup value or in the lookup range formatting either to Text won't undo the damage. The cell formatting must be applied before the data is entered.

Is the formula applied by your macro? If so, is there perhaps a chance that the data conversion takes place in VB rather than on the worksheet?
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
maderitetechAuthor Commented:
I have attached a sample workbook that shows the problem on Sheet3. Both Sheet1 and Sheet2 were imported by macros (macros not included). From this point on both sheets stay in the workbook. They can be edited, but not deleted.
I did not know that cell formatting must be applied before the data is entered. The macros do not format the cells before importing.
The VLookup formula is applied by the macro.
EE-Sample.xlsm
0
 
andrew_manCommented:
Try this,

=VLOOKUP(IFERROR(IF(DATEVALUE(C2),C2),IFERROR(C2+0,C2)),Sheet2!$A$2:$C$17,3,FALSE)

But, you should well prepare of your data, if needs.
0
 
maderitetechAuthor Commented:
The formula given by ssaqibh worked perfectly without having to check to see if the value was a date. That was impressive!
I was also impressed with the answer from Faustulus which explained what was causing the problem. (The cell formatting must be applied before the data is entered.)
Thanks to all for you help.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.