As you know Excel only lets you use one lookup value, but I need to compare three lookup values to find a fourth value.
For example in the screenshot below I want to use
Instead of Vlookup()
, you can use Index/Match, which is a nice alternative that lets you do this.
The formula correctly returns "Miss Smith": Note: This is entered as an array formula with CTRL+SHIFT+ENTER
So, the basic layout of the formula is:
=Index([range to return],match([single look up value],[range where that value would be],0))
You can combine lookup values by concatenating them, as you can see in the screenshot. So, the single lookup values are A2
, C2
, and D2
. And, you'd expect to find "Sarah" in the range G2:G3
, "Dog" in H2:H3
, etc.
Please let me know if I can clarify anything.
Edit: To help visualize the two sheets thing. I put the table (which you will lookup from) on a sheet called "Data Sheet". The table we need to complete is on "Main WS".
Here's "Main WS":
and the "Data Sheet":
Given the cyclic calulation and disregard for the Worksheet.UsedRange property that the AGGREGATE function exhibits, you will want to cut down the ranges for the lookups to the minimmum required. Pick a column that will typically determine the extent of the lookup range and use that to define the end point of each lookup column.
Sheet2:
Sheet1:
The formula in Sheet1!E2 is,
Fill down as necessary.