← Guides

XLOOKUP Complete Guide: 7 Practical Uses Beyond VLOOKUP

Exact match, approximate match, two-way lookups, last occurrence and multiple return columns: everything XLOOKUP can do, with ready-to-copy formulas.

Excel · 8 min read

Syntax in one line

XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]). Unlike VLOOKUP there is no column number, and the default is an exact match, which removes the most common VLOOKUP mistake (forgetting FALSE).

=XLOOKUP(A2, Products[SKU], Products[Price], "Not found")

1. Return several columns at once

Pass a multi-column return range and the result spills horizontally. One formula retrieves name, category and price for a SKU.

=XLOOKUP(A2, Products[SKU], Products[[Name]:[Price]])

2. Tiered pricing with approximate match

Match mode -1 returns the next smaller item, perfect for commission or shipping tiers. The table no longer needs to be sorted as it did with VLOOKUP TRUE.

=XLOOKUP(B2, Tiers[MinAmount], Tiers[Rate], , -1)

3. Find the last occurrence

Search mode -1 scans from bottom to top. Use it to get the most recent status of a ticket or the last price paid by a customer.

=XLOOKUP(A2, Log[TicketID], Log[Status], , 0, -1)

4. Two-way lookup

Nest one XLOOKUP inside another to cross a row label and a column header, replacing the classic INDEX/MATCH/MATCH combination.

=XLOOKUP(G2, Sales[Region], XLOOKUP(H2, Sales[#Headers], Sales))

5–7. Wildcards, multiple criteria, Google Sheets

Match mode 2 enables wildcards ("*north*"). For multiple criteria, look up 1 in a product of conditions: =XLOOKUP(1, (A:A=G2)*(B:B=H2), C:C). XLOOKUP also exists in Google Sheets with the same arguments. If colleagues still use Excel 2019, keep an INDEX/MATCH version, because XLOOKUP returns #NAME? there.