VLOOKUP with 2 lookup tables

Generic formula 

=VLOOKUP(value,IF(test,table1,table2),col,match)

Related formulas 

Multiple chained VLOOKUPs

VLOOKUP with numbers and text

VLOOKUP with multiple critiera

Merge tables with VLOOKUP

VLOOKUP without #N/A error

Two-way lookup with VLOOKUP

Calculate grades with VLOOKUP

Get employee information with VLOOKUP

Merge tables with VLOOKUP

VLOOKUP without #N/A error

Explanation

To use VLOOKUP with a variable table array, you can use the IF function inside VLOOKUP to control which table is used.

In the example shown the formula in cell E4 is:

=VLOOKUP(D5,IF(C4<2,table1,table2),2,TRUE)

This formula uses the number of years a salesperson has been with a company to determine which commission rate table to use.

How this formula works

Working from the inside out, the IF function in this formula, which is entered as the "table_array" argument in VLOOKUP, runs a logical test on the value in column C "Years", which represents the number of years a salesperson has been with a company. If C5 is less than 2, then table1 is returned as the value if true. If C4 is greater than 2, table2 is returned as the value if false.

In other words, if years is less than 2, table1 is used as for table_array, and, if not, table2 is used as for table_array.

Alternate syntax

If the lookup tables require different processing rules, then you can wrap two VLOOKUP functions inside of an IF function like so:

=IF(test,VLOOKUP (value,table1,col,match),VLOOKUP (value,table2,col,match))

This allows you to customize the inputs to each VLOOKUP as needed.

VLOOKUP with 2 lookup tables

Generic formula 

=VLOOKUP(value,IF(test,table1,table2),col,match)

Related formulas 

Multiple chained VLOOKUPs

VLOOKUP with numbers and text

VLOOKUP with multiple critiera

Merge tables with VLOOKUP

VLOOKUP without #N/A error

Two-way lookup with VLOOKUP

Calculate grades with VLOOKUP

Get employee information with VLOOKUP

Merge tables with VLOOKUP

VLOOKUP without #N/A error

Explanation

To use VLOOKUP with a variable table array, you can use the IF function inside VLOOKUP to control which table is used.

In the example shown the formula in cell E4 is:

=VLOOKUP(D5,IF(C4<2,table1,table2),2,TRUE)

This formula uses the number of years a salesperson has been with a company to determine which commission rate table to use.

How this formula works

Working from the inside out, the IF function in this formula, which is entered as the "table_array" argument in VLOOKUP, runs a logical test on the value in column C "Years", which represents the number of years a salesperson has been with a company. If C5 is less than 2, then table1 is returned as the value if true. If C4 is greater than 2, table2 is returned as the value if false.

In other words, if years is less than 2, table1 is used as for table_array, and, if not, table2 is used as for table_array.

Alternate syntax

If the lookup tables require different processing rules, then you can wrap two VLOOKUP functions inside of an IF function like so:

=IF(test,VLOOKUP (value,table1,col,match),VLOOKUP (value,table2,col,match))

This allows you to customize the inputs to each VLOOKUP as needed.