Home » Function » Lookup functions » Search in a range of values with XLOOKUP

Search in a range of values with XLOOKUP

Reading time: 2 minutes
Last Updated on 17/08/2021 by Frédéric LE GUEN

When you want to return a value in a range of values, 2 functions do the job: VLOOKUP and better XLOOKUP.

Search in a range of values with VLOOKUP

For years, the only Excel function to return the result in a range of values was VLOOKUP like it is explain in this article.

VLOOKUP returns the result for any values

Limits of the use of VLOOKUP

The VLOOKUP function has 2 limitations when you use it to search in a range of values

  • Your data MUST be sorted
  • The direction of the research is always in the decreasing order

Search in a range of values with XLOOKUP

The XLOOKUP function has been created to correct the limitations of the VLOOKUP function and also simplify the writing.

Let's redo the same example and see how to write the XLOOKUP function in this situation

  1. Write the name =XLOOKUP
  2. Select the cell with the value to search (here B2)
  3. Then you select only the column with the range of values ($E$3:$E$8)
  4. And after, the column of the values to return ($F$3:$F$8)
  5. Skip the next argument (not necessary here)
  6. Select the option of research "exact match or next smaller item"
Option Exact Match or next smaller item

The complete formula is

=XLOOKUP(B3,$E$3:$E$8,$F$3:$F$8,,-1)

Search in a range of values with the XLOOKUP function

What's happen if the data are unsorted

But now, if the reference table (the Commission table) isn't sorted, the XLOOKUP function still returns the correct result 😃👍

Search in a Range of values unsorted

Return the larger value of the range

With VLOOKUP, you can only return the smaller value of the range. But with XLOOKUP, you can also return larger value.

In this example, you want to calculate the price according to the number of people for an event

Calculate the price for the event

This time, we have selected the option 1 "Exact match or larger item"

Option Exact Match or next larger item

The price of the tent depends on the number of people (B3), so the formula is

=XLOOKUP(B3,Tbl_Tent[Number people],Tbl_Tent[Price],,1)

Price for the tent according to the number of people

As you can see, the result returns by the formula is 700 which is the larger value of the range 50-75

And now, what is the price of the food?

=XLOOKUP(B3,Tbl_Food[Number people],Tbl_Food[Price],,1)*B3

Price for the food according to the number of people

Leave a Reply

Your email address will not be published. Required fields are marked *

Search in a range of values with XLOOKUP

Reading time: 2 minutes
Last Updated on 17/08/2021 by Frédéric LE GUEN

When you want to return a value in a range of values, 2 functions do the job: VLOOKUP and better XLOOKUP.

Search in a range of values with VLOOKUP

For years, the only Excel function to return the result in a range of values was VLOOKUP like it is explain in this article.

VLOOKUP returns the result for any values

Limits of the use of VLOOKUP

The VLOOKUP function has 2 limitations when you use it to search in a range of values

  • Your data MUST be sorted
  • The direction of the research is always in the decreasing order

Search in a range of values with XLOOKUP

The XLOOKUP function has been created to correct the limitations of the VLOOKUP function and also simplify the writing.

Let's redo the same example and see how to write the XLOOKUP function in this situation

  1. Write the name =XLOOKUP
  2. Select the cell with the value to search (here B2)
  3. Then you select only the column with the range of values ($E$3:$E$8)
  4. And after, the column of the values to return ($F$3:$F$8)
  5. Skip the next argument (not necessary here)
  6. Select the option of research "exact match or next smaller item"
Option Exact Match or next smaller item

The complete formula is

=XLOOKUP(B3,$E$3:$E$8,$F$3:$F$8,,-1)

Search in a range of values with the XLOOKUP function

What's happen if the data are unsorted

But now, if the reference table (the Commission table) isn't sorted, the XLOOKUP function still returns the correct result 😃👍

Search in a Range of values unsorted

Return the larger value of the range

With VLOOKUP, you can only return the smaller value of the range. But with XLOOKUP, you can also return larger value.

In this example, you want to calculate the price according to the number of people for an event

Calculate the price for the event

This time, we have selected the option 1 "Exact match or larger item"

Option Exact Match or next larger item

The price of the tent depends on the number of people (B3), so the formula is

=XLOOKUP(B3,Tbl_Tent[Number people],Tbl_Tent[Price],,1)

Price for the tent according to the number of people

As you can see, the result returns by the formula is 700 which is the larger value of the range 50-75

And now, what is the price of the food?

=XLOOKUP(B3,Tbl_Food[Number people],Tbl_Food[Price],,1)*B3

Price for the food according to the number of people

Leave a Reply

Your email address will not be published. Required fields are marked *