Price by SKU
=XLOOKUP(A2, Products!A:A, Products!C:C, "Missing", 0) returns unit price or a clear label.
XLOOKUP searches a lookup array for a key and returns a matching value from a return array. It handles left lookups, approximate match, and custom not-found text without INDEX/MATCH gymnastics.
Use XLOOKUP for price lists, employee records, and SKU tables when keys may appear anywhere relative to the return column.
Skip XLOOKUP on unsorted huge tables needing binary search without understanding search_mode. Legacy files with stable VLOOKUP may not need migration yet.
Put the search key in the formula or cell reference.
Point lookup_array at the column or row holding keys.
Point return_array at values to fetch when a key matches.
Set if_not_found to a friendly message instead of #N/A.
Choose search_mode for exact or next-smaller approximate matches.
Use one XLOOKUP per row or MAP/BYROW for column-wide fills.
=XLOOKUP(A2, Products!A:A, Products!C:C, "Missing", 0) returns unit price or a clear label.
=XLOOKUP(E2, Codes!B:B, Codes!A:A) fetches an ID from a code column to the right of names.
=XLOOKUP(D2, Tiers!A:A, Tiers!B:B, , -1) approximate match picks the correct bracket rate.
Build this without starting from a blank cell
Use a Better Sheets tool for XLOOKUP, then watch a walkthrough when you want the full pattern.
Watch how XLOOKUP works
Guides that explain XLOOKUP in more depth.
Esa is a beginner at Google Sheets. I discover the moment he discovered the deepest secrets of Google Sheets. And we wax poetic about AI in sheets, and data flow.
Read post →Sheet Talking is a series of casual conversations with Spreadsheet Professionals. This one with Prolific Oaktree.
Read post →Google Sheets formulas can be frustrating for a few reasons. First, you’re trying to remember what to use on the fly. Then you can't remember the name of a formula. If you do figure out the name, you can't remember the syntax. Then you don't know the proper way to write the data. FRUSTRATING!
Read post →VLOOKUP searches the first column of a range for a key and returns a value from a specified column to the right. It is still everywhere in legacy templates even as XLOOKUP offers more flexible replacements.
Read guide →INDEX fetches a value from a range by row and column number. Combined with MATCH it powers flexible lookups. Alone it picks nth items from lists, dynamic headers, or matrix intersections without VLOOKUP column limits.
Read guide →MATCH searches a range for a value and returns its relative position. Feeding INDEX or OFFSET with MATCH replaces brittle column index math. Sorted approximate match modes support tier tables and date brackets.
Read guide →FILTER returns only the rows from a range that meet one or more conditions. Conditions are boolean arrays the same height as the data. FILTER spills results automatically, so it replaced many INDEX/SMALL helper-column patterns for live subsets.
Read guide →Done reading about XLOOKUP?
Membership unlocks 636+ tutorials, unlimited generators, and every template. Practical lessons. Zero fluff.
Need this once
Jump to a free tool or a single tutorial for this topic.
Learning Sheets for real
Unlock the full library, generators, and templates with membership.