VLOOKUP with multiple criteria
The VLOOKUP function does not handle multiple criteria natively. However, if you have control over source data, you can use a helper column to join multiple fields together, and use these fields like multiple criteria inside VLOOKUP. In the example shown, Column B is a helper column that concatenates first and last names together, and VLOOKUP does the same to build a lookup value. The formula in I6 is:
where "data" is the named range B4:F104
Note: This approach is simple, but limited. For a more powerful solution that does not require a helper column, see this advanced formula based on Boolean logic. Also consider a more direct approach based on INDEX and MATCH or XLOOKUP.
In the example shown, we want to lookup employee department and group using VLOOKUP by matching on first and last name.
One limitation of VLOOKUP is that it only handles one condition: the lookup_value, which is matched against the first column in the table. This makes it difficult to use VLOOKUP to find a value based on more than one criteria. However, if you have control over the source data, you an add a helper column that concatenates 2 more more fields together, then give VLOOKUP a lookup value that does the same.
The helper column joins field values from columns that are used as criteria, and it must be the first column of the table. Inside the VLOOKUP function, the lookup value itself is also created by joining the same criteria.
In the example shown, the formula in I6 is:
Once I4 and I5 are joined, we have:
VLOOKUP locates "JonVictor" on the 5th row in "data", and returns the value in the 4th column, "Marketing".
Setting things up
To set up a multiple criteria VLOOKUP, follow these 3 steps:
- Add a helper column and concatenate (join) values from columns you want to use for your criteria.
- Set up VLOOKUP to refer to a table that includes the helper column. The helper column must be the first column in the table.
- For the lookup value, join the same values in the same order to match values in the helper column.
- Make sure VLOOKUP is set to perform an exact match.