The VLOOKUP function can only return one record. It will return the first record that matches the value you looked for. If your table contains duplicates then VLOOKUP will not be up to the task.
Why is my VLOOKUP returning?
If you are using a formula with approximate match (range_lookup argument set to TRUE or omitted), your Vlookup formula might return the #N/A error in two cases: If the lookup value is smaller than the smallest value in the lookup array. If the lookup column is not sorted in ascending order.
What order does VLOOKUP return?
VLOOKUP will scan values in column G for the lookup value. If an exact match is found, VLOOKUP will use it. If not, VLOOKUP will "step back" and match the previous row. Note: data must be sorted in ascending order by lookup value when you use approximate match mode with VLOOKUP.