Use XLOOKUP for a new exact-match lookup when every person opening the workbook has a supported Excel version. Use VLOOKUP with FALSE for an exact match when compatibility with older editions matters and the lookup column is first.
A lookup formula can return a believable answer from the wrong row. That is why choosing a function involves more than shortening a formula. You need to know the match rule, which column contains the key, what should happen when the key is missing, and which Excel editions your colleagues use.
For a new product list in current Excel, XLOOKUP is usually the clearer starting point. For a workbook exchanged with someone using Excel 2016 or 2019, VLOOKUP may be a practical compatibility choice. Microsoft explicitly excludes those two editions from XLOOKUP support. Save a working copy before replacing formulas in a shared report.
Choose by requirement, not by habit
| Requirement | Starting choice | Check before using it |
|---|---|---|
| Current Excel, exact product ID | XLOOKUP | The lookup and return ranges describe the same rows. |
| Excel 2016 or 2019 compatibility | VLOOKUP with FALSE | The key is in the first column of the selected table. |
| Return a value left of the key | XLOOKUP or INDEX with MATCH | Use an exact-match argument in MATCH. |
| Return every matching transaction | Reconsider the task | A single-result lookup is not a complete transaction report. |
The last row matters. A customer can place several orders, and a repeated customer name is not necessarily an error. Decide whether the key should identify one product, one person, or one transaction before choosing the formula.
Build one small example you can inspect
In a blank practice worksheet, put Product ID in A1, Product in B1, and Price in C1. Enter P101, Notebook, and 12.50 in row 2; P205, Desk Lamp, and 28 in row 3; P309, Keyboard, and 45 in row 4. Put P205 in E2. These are illustrative values with a known answer of 28.
- Select F2 and enter =XLOOKUP(E2,$A$2:$A$4,$C$2:$C$4,"Not found").
- Confirm that the result is 28.
- In G2, enter =VLOOKUP(E2,$A$2:$C$4,3,FALSE).
- Confirm that the second result is also 28.
- Change E2 to P999 and inspect how each formula handles the missing key.
XLOOKUP returns the supplied Not found message; this VLOOKUP returns #N/A. Missing-data behavior should be intentional. A zero might look like a valid free product, so avoid substituting zero simply to make an error disappear.
Understand the arguments that change the result
In the VLOOKUP example, 3 means the third column within A:C, not an independent reference to column C. FALSE requests an exact match. Microsoft’s VLOOKUP reference explains that omitting the last argument uses approximate matching. That is inappropriate for the product-ID example: an unknown ID must not inherit a neighboring product’s price.
XLOOKUP separates the searched range from the returned range and uses exact matching by default. It can return a column to either side. Its optional search modes include binary searches that require correctly sorted data. Leave advanced modes alone unless their ordering requirements are part of your design.
Approximate matching can be useful for an intentional banded table, such as quantity-discount thresholds. It is a different business question. Label such a table clearly, confirm the threshold order, and test boundary values rather than adapting an exact-ID example without checking the consequences.
Support older Excel without rearranging source data
If the return column is left of the lookup column, Microsoft documents INDEX combined with MATCH as an alternative. For the practice data, =INDEX($B$2:$B$4,MATCH(E2,$A$2:$A$4,0)) returns Desk Lamp when E2 contains P205. The zero asks MATCH for an exact match.
Use this only after you understand both ranges. Do not move a production source column just to satisfy VLOOKUP if other formulas depend on its position. A separate lookup sheet or a reviewed replacement formula can keep the original layout intact.
Investigate missing and suspicious matches
If a known product returns #N/A, compare the actual key values. A numeric identifier stored as text, leading spaces, or an incomplete range can prevent the expected match. Microsoft’s #N/A troubleshooting guide distinguishes lookup failures from a missing return value. Check a small sample before changing an entire identifier column.
Absolute references such as $A$2:$A$4 keep the example’s source range fixed when you copy the formula down. Verify the first, middle, and last copied formulas. If new rows are added beyond a fixed range, they are outside the search until you update that range or adopt a suitable table-based design.
Keep “not found” distinct from a real zero price. In the practice list, changing a product’s price to 0 should still return a successful match. A missing product should follow your missing-key rule. If the report calculates totals, decide where an unresolved lookup should be flagged for review instead of quietly converting it to zero. That decision belongs to the report’s purpose; an error-hiding formula cannot decide it for you.
Validate before replacing a working report
Use a known key, a missing key, and a duplicate key as separate checks. For duplicates, inspect which row supplies the answer and decide whether that outcome fits the report. Compare results with the source rather than merely comparing two formulas: they can share the same mistaken assumption.
Stop if duplicate keys should have different results, if you cannot establish the required match rule, or if recipients’ Excel versions are unknown. Record the intended behavior and resolve those questions first. A short formula is useful only when its result means what the reader thinks it means.
Keep these in mind
- Specify exact matching for identifier lookups.
- Check Excel compatibility before distributing XLOOKUP.
- Treat duplicate and missing keys as design questions.
Common questions
Is XLOOKUP available in Excel 2019?
No. Microsoft says XLOOKUP is not available in Excel 2016 or Excel 2019; use a compatible formula or a supported version.
Does VLOOKUP need sorted data?
An exact match using FALSE does not require sorting; approximate matching has ordering requirements and should be chosen deliberately.
Why do both formulas return only one result?
These examples retrieve one matching result. If a key can identify multiple meaningful records, design a separate reporting or filtering approach.
Sources & further help
Prepared with AI assistance from the linked documentation. This is a source-led explanation, not a claim of hands-on testing across every device. Read the editorial policy.