XLOOKUP does everything VLOOKUP does with fewer failure modes: =XLOOKUP(A2, D2:D50, F2:F50) replaces =VLOOKUP(A2, D2:F50, 3, FALSE). It defaults to exact match, can return columns to the left, and handles missing values without IFERROR. Use XLOOKUP for new formulas; leave working VLOOKUPs alone.
XLOOKUP vs VLOOKUP in Google Sheets: Which to Use
XLOOKUP vs VLOOKUP in Google Sheets, compared feature by feature. See what XLOOKUP fixes, how to convert old formulas, and when VLOOKUP is still fine.
Sheets Bootcamp
July 28, 2026
Table of Contents
Quick Answer
XLOOKUP and VLOOKUP solve the same problem: find a value in one column, return the matching value from another. The difference is how much can go wrong along the way. VLOOKUP carries three famous traps, and XLOOKUP was designed specifically to remove them.
In This Guide
- The Same Lookup, Both Ways
- What XLOOKUP Fixes
- Feature Comparison
- Converting VLOOKUP to XLOOKUP
- When VLOOKUP Is Still Fine
- Related Google Sheets Tutorials
The Same Lookup, Both Ways
Here is a product table, with IDs in column A and prices in column D:
| Product ID | Product Name | Category | Price |
|---|---|---|---|
| SKU-101 | Magnifying Glass | Optics | $24.99 |
| SKU-102 | Forensic Chemistry Set | Lab | $45.00 |
| SKU-103 | Pocket Watch | Accessories | $35.00 |
| SKU-104 | Field Binoculars | Optics | $65.00 |
| SKU-105 | Cipher Decoder | Accessories | $28.50 |
Looking up the price of SKU-103 with VLOOKUP:
=VLOOKUP("SKU-103", A2:D6, 4, FALSE) And with XLOOKUP:
=XLOOKUP("SKU-103", A2:A6, D2:D6) Both return $35.00. But notice what the XLOOKUP version does not need: no column counting to arrive at 4, and no FALSE at the end. The two ranges say exactly what they mean: search the IDs, return the prices.
What XLOOKUP Fixes
1. Exact match is the default
VLOOKUP’s fourth argument defaults to TRUE, approximate match. Forget the FALSE and a missing value silently returns the wrong row instead of an error. This is the single most common VLOOKUP bug, and XLOOKUP removes it by defaulting to exact match. You add a match mode only when you want approximate behavior on purpose.
2. It can look left
VLOOKUP only returns columns to the right of the search column. Searching column B to return column A requires an INDEX MATCH workaround. XLOOKUP’s lookup and result ranges are independent, so a left lookup is just:
=XLOOKUP("Pocket Watch", B2:B6, A2:A6) 3. No fragile column index
VLOOKUP’s 4 means “the fourth column of the range I gave you.” Insert a column inside that range and every VLOOKUP pointing into it now returns the wrong field, with no error. XLOOKUP points at the result column directly, so inserting columns cannot silently redirect it.
4. Built-in error handling
A VLOOKUP that finds nothing returns #N/A, and cleaning that up means wrapping the whole formula in IFERROR. XLOOKUP has a dedicated fourth argument for it:
=XLOOKUP(H1, A2:A6, D2:D6, "Not found") See XLOOKUP if not found for why this beats IFERROR.
5. One formula can return several columns
Point the result range at multiple columns and XLOOKUP spills all of them from a single formula. VLOOKUP returns one column per formula, full stop.
Feature Comparison
XLOOKUP vs VLOOKUP
| Feature | VLOOKUP | XLOOKUP |
|---|---|---|
| Search direction | Right only | Any direction |
| Default match | Approximate (needs FALSE) | Exact |
| Error handling | Wrap in IFERROR | Built-in missing_value |
| Column reference | Index number, breaks if columns move | Direct range, stable |
| Multiple column return | One at a time | Spills several at once |
| Search order | Top to bottom only | Top-to-bottom or bottom-to-top |
| Binary search | Not supported | search_mode 2 and -2 |
| Availability | Every version | Google Sheets since August 2022 |
Converting VLOOKUP to XLOOKUP
The conversion is mechanical. Take the VLOOKUP’s table range, split it into the column you search and the column you return:
| VLOOKUP | XLOOKUP equivalent |
|---|---|
| =VLOOKUP(A2, D2:F50, 3, FALSE) | =XLOOKUP(A2, D2:D50, F2:F50) |
| =VLOOKUP(“Widget”, Products!A:C, 2, FALSE) | =XLOOKUP(“Widget”, Products!A:A, Products!B:B) |
| =IFERROR(VLOOKUP(A2, D:F, 3, FALSE), “None”) | =XLOOKUP(A2, D:D, F:F, “None”) |
| =VLOOKUP(A2, D2:F50, 3, TRUE) | =XLOOKUP(A2, D2:D50, F2:F50, , -1) |
The last row deserves a note: VLOOKUP’s TRUE finds the closest value at or below the search key, which is XLOOKUP’s match_mode -1. One real difference: VLOOKUP’s TRUE requires sorted data, while XLOOKUP’s -1 scans the whole range and works unsorted. Details in match modes.
Tip
When converting a formula you plan to drag down, lock the ranges: =XLOOKUP(A2, $D$2:$D$50, $F$2:$F$50). The search key stays relative, the table stays pinned.
When VLOOKUP Is Still Fine
There are exactly two good reasons to keep writing VLOOKUP:
Compatibility. If your sheet gets exported to Excel and opened in Excel 2019 or earlier, XLOOKUP formulas will not work there. Teams stuck on old Excel are the one audience where VLOOKUP remains the safe choice.
Working formulas. A VLOOKUP that already does its job costs nothing to keep. Rewriting working formulas adds risk without adding value. The rule is simple: new formulas get XLOOKUP, old formulas get left alone.
If you are choosing between XLOOKUP and the classic workaround pattern instead, see XLOOKUP vs INDEX MATCH.
Related Google Sheets Tutorials
- XLOOKUP: The Complete Guide: Full syntax and every parameter explained
- VLOOKUP: The Complete Guide: The original lookup function in depth
- XLOOKUP vs INDEX MATCH: The other alternative compared
- XLOOKUP Match Modes: Exact, approximate, and wildcard matching
- Fix VLOOKUP Errors: Troubleshooting the classic function
Frequently Asked Questions
Is XLOOKUP better than VLOOKUP in Google Sheets?
Should I rewrite my VLOOKUP formulas as XLOOKUP?
How do I convert a VLOOKUP formula to XLOOKUP?
Does XLOOKUP work in all versions of Google Sheets?
Is XLOOKUP faster than VLOOKUP in Google Sheets?
You've googled this formula before. Probably more than once.
Basic Training is a free course inside a real Google Sheet that grades every formula the moment you press Enter. 7 lessons, about 40 minutes, and this loop ends.
Try the Sheet That Grades YouFree. No spam, ever.