LOOKUP Function

Excel Functions › Lookup & Reference

All Excel versions Legacy function

The Excel LOOKUP function is the simplest member of the lookup family: it searches a one-row or one-column range and returns the matching value from another. It is always an approximate match on sorted data — a real limitation — yet it survives in modern workbooks thanks to two tricks every Excel pro should know.


Quick answer: to find which tier D2 falls into (lookup column sorted ascending):
=LOOKUP(D2, A2:A5, B2:B5)
Need an exact match? LOOKUP can’t do it — use XLOOKUP or VLOOKUP with FALSE instead.

Syntax (vector form)

=LOOKUP(lookup_value, lookup_vector, [result_vector])
ArgumentDescription
lookup_valueRequiredThe value to search for.
lookup_vectorRequiredA single row or column, sorted ascending.
result_vectorOptionalSame-size row or column to return values from. Omitted = return from lookup_vector itself.

LOOKUP is always approximate. It finds the largest value ≤ lookup_value. There is no exact-match switch, and unsorted data returns wrong answers silently. (An "array form" also exists for backward compatibility; Microsoft recommends VLOOKUP/HLOOKUP instead.)

What it's good at: tiers and brackets

Because approximate match is the whole point, LOOKUP is naturally compact for commission tiers, tax brackets, and grading scales:

ABDE
1Sales at leastCommissionSalesRate
2$02%$83,5006%
3$25,0004%
4$50,0006%
5$100,0008%
=LOOKUP(D2, A2:A5, B2:B5) // $83,500 falls in the $50,000 tier -> 6%

Compared to VLOOKUP’s approximate mode, there’s no column counting; compared to XLOOKUP, it’s shorter but far less safe. Remember: sorted ascending, always.

Try it: interactive LOOKUP demo

Live demo

Drag the sales amount and watch LOOKUP slide between tiers.

Matched tier:  →  Rate:

The famous last-value tricks

LOOKUP’s quirk — approximate match returning the last value ≤ the target — powers two classics. To get the last number in a column (running totals, latest balance):

=LOOKUP(9.99E+307, B:B) // last number in column B

9.99E+307 is essentially the largest number Excel can store, so LOOKUP runs past every real value and lands on the final one. For the last non-blank cell of any type:

=LOOKUP(2, 1/(B1:B1000<>""), B1:B1000) // last non-blank value

The test 1/(range<>"") builds an array of 1s (filled cells) and #DIV/0! errors (blanks). LOOKUP ignores the errors while hunting for 2, never finds it, and returns the last 1’s position — i.e., the last filled cell.

Errors & common pitfalls

#N/A — below the smallest value. If lookup_value is smaller than the first item of lookup_vector, there's nothing ≤ it to return.

Pitfall: unsorted data fails silently. LOOKUP assumes ascending order and doesn't check. Wrong order means wrong answers with no error — the most dangerous kind of bug.

Pitfall: expecting exact match. Looking up "Webcam Pro" in an unsorted product list is exactly what LOOKUP is wrong for. Use XLOOKUP, VLOOKUP with FALSE, or INDEX/MATCH.

Pitfall: mismatched vector sizes. lookup_vector and result_vector must be the same length, or results misalign.

Practice workbook

📊
Download the free LOOKUP practice workbook
Every example on this page, ready to open in Excel — plus practice challenges with answers on a separate tab. No sign-up required.

Frequently asked questions

What's the difference between LOOKUP and VLOOKUP?
LOOKUP searches a single vector with approximate match only; VLOOKUP searches a table's first column and can do exact match with FALSE. LOOKUP is shorter for sorted tier lookups; VLOOKUP is safer for everything else.
Can LOOKUP do an exact match?
No. LOOKUP always uses approximate match on sorted data. For exact matches use XLOOKUP, VLOOKUP with FALSE, or INDEX/MATCH with 0.
Why does =LOOKUP(9.99E+307, A:A) return the last number?
9.99E+307 is near the largest number Excel can hold, so every real value is smaller. Approximate match returns the last value it passed - the final number in the range.
Should I still use LOOKUP in new workbooks?
For the last-value tricks and quick sorted-tier lookups, it remains handy and works everywhere. For everything else, XLOOKUP is clearer and safer.
What is the array form of LOOKUP?
A legacy variant that searches the first row or column of a 2-D array and returns from the last. Microsoft recommends VLOOKUP or HLOOKUP instead, which offer more control.

Master functions like this in one day

This page covers one function. Our Excel Formulas and Functions class covers the 30 that matter most — live, hands-on, taught by professionals in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.

See the Formulas & Functions Class

Related functions: XLOOKUP · VLOOKUP · INDEX · MATCH