XLOOKUP Multiple Criteria

If you just need to xlookup multiple criteria and move on, the boxed answer at the top is all you need. The rest of this page is for when you want to understand why it works in Excel, adapt it to a trickier version, or make it robust enough to hand to a colleague. We keep the opening short on purpose — the depth is here when you want it, not in your way when you don’t.

Exact answer

In Excel: use =XLOOKUP(lookup_value, lookup_array, return_array) — it searches one column and returns the matching value from another, in any direction, with an exact match by default.

Syntax

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

Arguments

ArgumentDescription
lookup_valuerequiredThe value to search for.
lookup_arrayrequiredThe range to search in.
return_arrayrequiredThe range to return a result from.
if_not_foundoptionalValue to return when no match is found (avoids #N/A).
match_modeoptional0 exact (default), -1/1 next smaller/larger, 2 wildcard.
search_modeoptional1 first-to-last (default), -1 last-to-first, 2/-2 binary search ascending/descending.

Related functions

VLOOKUPINDEX/MATCHIFERROR
Annotated stepsExcel
1

In the result cell type =XLOOKUP( and click the cell holding the value to find.

2

Select the column that contains that value as lookup_array.

3

Select the column to pull the answer from as return_array.

4

Optionally add a fourth argument in quotes to replace #N/A with your own text.

5

Press Enter; copy the formula down the column.

Ctrl+CthenCtrl+Shift+V+Cthen+Ctrl+VPaste values · WindowsMac

What this does

XLOOKUP replaces VLOOKUP and HLOOKUP with one function that looks left or right, top or bottom, and defaults to an exact match instead of an approximate one. You give it the value to find, the column to search, and the column to return — no column-index counting, no FALSE flag to remember. The same idea underpins a lot of everyday Excel work, so the few minutes spent getting it right here pay back across every sheet you build afterwards. Treat it as a pattern, not a one-off, and it stops being something you look up and starts being something you reach for. For “xlookup multiple criteria”, the reliable version is a short checking loop, not just the first command that appears to work. Run it on a deliberately small range first, watch how the affected cells change, and only then apply the same setup to the full sheet. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. That is what makes a data step that keeps your analysis trustworthy useful in real work: repeatable, auditable, and not dependent on memory or luck.

A worked example

Prices sit in B2:B100 keyed by SKU in A2:A100. To get the price for the SKU in cell E2: =XLOOKUP(E2, A2:A100, B2:B100). If the SKU is missing it returns #N/A; add a fourth argument to show text instead: =XLOOKUP(E2, A2:A100, B2:B100, "not found"). Reach for XLOOKUP whenever you would have written a VLOOKUP or an INDEX/MATCH: it is shorter, survives inserted columns, and fails gracefully with if_not_found. One habit worth forming early: name the cells that hold your inputs, so the formula reads in plain language instead of a string of cell addresses. A reviewer — or you in three months — can then follow the logic without decoding what B7 and D2 were supposed to mean, which is most of what makes a sheet maintainable.

In Google Sheets

Everything above works in Google Sheets too. Excel and Sheets share the formula syntax used here; only the surrounding menus are arranged differently. That portability is deliberate — learn it once and it follows you between the two tools and across Windows and Mac. The aim was to get you unstuck fast and leave you a little more capable than a copy-paste would. The answer is at the top, the tool proves it, and the detail above shows why it holds — so the next time a colleague asks, you can answer without reaching for search. The short version of “xlookup multiple criteria”: the answer is at the top of this page, the tool proves it on your own numbers, and the sections above explain why it holds so the next variation does not stump you. Excel rewards people who reference cells instead of typing values and who keep inputs separate from formulas, because that is what makes a result you can audit months later. Build it once, deliberately, with the live tool as a check, and you convert a one-off lookup into a reusable skill — which is the whole point of learning the why and not just the what.

Common mistakes

  • Selecting ranges of different heights for lookup_array and return_array, which throws a #VALUE! error.
  • Assuming approximate match like VLOOKUPXLOOKUP defaults to exact, so set match_mode to -1 or 1 only when you need the nearest value.
  • Hard-coding the lookup value instead of pointing at a cell, so the formula cannot be filled down.

Frequently asked questions

Is XLOOKUP better than VLOOKUP?

For most lookups, yes: it can return columns to the left, defaults to exact match, and has a built-in if_not_found argument. VLOOKUP still works for older files that must open in Excel 2019 or earlier, where XLOOKUP is unavailable.

Why does XLOOKUP return #N/A?

No exact match was found. Either the value really is absent, the cells differ by stray spaces (wrap lookup_value in TRIM), or numbers are stored as text. Add a fourth argument to return friendly text instead of #N/A.

Can XLOOKUP return multiple columns?

Yes — select several columns as return_array and the result spills across that many cells, as long as the cells to the right are empty.