Judy, from the help files...
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
Lookup_value is the value to be found in the first column of the array. Lookup_value can be a value, a reference, or a text string.
Table_array is the table of information in which data is looked up. Use a reference to a range or a range name, such as Database or List.
If range_lookup is TRUE, the values in the first column of table_array must be placed in ascending order: ..., -2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE; otherwise VLOOKUP may not give the correct value. If range_lookup is FALSE, table_array does not need to be sorted.
You can put the values in ascending order by choosing the Sort command from the Data menu and selecting Ascending.
The values in the first column of table_array can be text, numbers, or logical values.
Uppercase and lowercase text are equivalent
You might try changing range_lookup to false or sort the list in ascending order. When numbers and text are combined, 10a is actually smaller than 1a.
If you need the list/table that you are looking up from in a particular order, then change the last parameter to false - meaning Find me an exact match, not the closest match without going over the value.
HTH, Regards
Tom