XLOOKUP in Google Sheets: cleaner exact-match lookups
Look up IDs, return entries from either side and set a clear not-found result.

Use =XLOOKUP(search_key,lookup_range,result_range,"Not found"). Keep the lookup and result ranges the same length.
Before you return a matching entry with XLOOKUP, set up a clean source range and one result you can check by hand. That gives you a known answer before the sheet grows.
This article shows how to return a matching entry with XLOOKUP. The sample sheet uses ordinary rows so you can copy the method into an existing file without rebuilding everything.

XLOOKUP in Google Sheets: cleaner exact-match lookups
- 01Make a safe copy
Duplicate the source tab or file before changing formulas, ranges or formatting.
- 02Set up the source rows
Add the fields needed to return a matching entry with XLOOKUP. Keep one record on each row and one field in each column.
- 03Add the method
Enter =XLOOKUP(E2,A2:A100,C2:C100,"Not found") in a test cell and check its first result.
- 04Check a known case
Pick one row whose answer you already know and compare it with the sheet result.
- 05Test the awkward rows
Check blanks, zeros, repeated entries and one row that should not match.
- 06Apply it to the full range
Copy the formula or rule only after the sample cases return the expected result.
Set up the sheet for XLOOKUP in Google Sheets
Keep the source table rectangular. A single header row, no merged cells and consistent cell types make the work much easier to check.
Place settings, fixed rates or allowed labels on a separate tab. Name them clearly so another person can read the file without tracing every cell.
- Use equal-size ranges
- Use IDs with consistent types
- Set a not-found result
- Check duplicate lookup IDs
Check the first result before copying it
A result that looks plausible can still be wrong. Work through one row manually, compare it with the Sheet and check every referenced cell.
Next, test a blank row and an unusual row. These two checks catch many range, type and copied-reference mistakes before they spread.
=XLOOKUP(E2,A2:A100,C2:C100,"Not found")Keep the file reliable as new rows arrive
Leave input columns visually separate from calculated columns. Protect formulas when several people edit the same file, and keep dropdown lists or settings outside the main table.
Add a short check near the result: row count, unmatched count, last refresh time or a manual spot check. The right check depends on the job, but it should make a bad update easy to notice.
Questions people ask
Is XLOOKUP available in Google Sheets?+
Yes. It is available in current Google Sheets accounts.
Is XLOOKUP better than VLOOKUP?+
It is easier to read, can return from either side and has a built-in not-found argument.
What happens with duplicate matches?+
The default search returns the first matching entry.



