# Lookup latest price

=LOOKUP(2,1/(item="hat"),price)

To lookup the latest price for a product in a list, sorted so latest items appear last, you can use a formula based on the LOOKUP function. In the example show, the formula in G7 is:

=LOOKUP(2,1/(item=F7),price)

where **item** is the named range B5:B12, **price** is the named range D5:D11, and data is sorted ascending by date.

### How this formula works

The LOOKUP function assumes data is sorted, and always does an approximate match. If the lookup value is greater than all values in the lookup array, default behavior is to "fall back" to the previous value. This formula exploits this behavior by creating an array that contains only 1s and errors, then deliberately looking for the value 2, which will never be found.

First, this expression is evaluated:

`item=F7`

When F7 contains "sandals" the result is an array or TRUE and FALSE values like this:

{FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE}

This array is provided as the divisor to 1, which results in another array like this:

{#DIV/0!;1;#DIV/0!;1;#DIV/0!;#DIV/0!;1;#DIV/0!}

This array is provided as the search vector. Notice the array contains only two values: the divide by zero error (#DIV/0!) and the number 1.

LOOKUP searches the array for a value of 2. Not finding 2, it falls back to the last 1, at position 7 in the lookup array.

Finally, LOOKUP returns the 7th item in the results array, the price $15.

To read more about the concept of intentionally looking for a value that won't ever appear, read about BigNum.

## Excel Formula Training

Formulas are the key to getting things done in Excel. In this accelerated training, you'll learn how to use formulas to manipulate text, work with dates and times, lookup values with VLOOKUP and INDEX & MATCH, count and sum with criteria, dynamically rank values, and create dynamic ranges. You'll also learn how to troubleshoot, trace errors, and fix problems. Instant access. See details here.