XLOOKUP
Supported, behaves as documentedCategory: Lookup and reference · Last tested 2026-08-06
Real, executed compatibility results for the XLOOKUP function across Microsoft Excel, Google Sheets, and LibreOffice Calc — verified by actually running it. Syntax and links to each vendor’s official documentation are below.
XLOOKUP under every LibreOffice release we test
(24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3):
it returned #NAME? (unrecognized) in 24.2.0.3 and first works in 24.8.7.2.
If you need XLOOKUP in LibreOffice Calc, use 24.8.7.2 or newer.
Support matrix
| Engine | Documented | Live-tested | Verdict |
|---|---|---|---|
| Excel | Yes | Not yet | n/a |
| Google Sheets | Yes | Not yet | n/a |
| LibreOffice Calc | No | Yes (25.8.7.3, 2026-08-06) | Supported, behaves as documented |
LibreOffice version history
We executed the same test cases under each LibreOffice release to show exactly when XLOOKUP’s support changed — not documentation claims, real results.
| LibreOffice version | Verdict | Tested |
|---|---|---|
| 24.2.0.3 | Unsupported (not recognized) | 2026-07-19 |
| 24.8.7.2 | Supported, behaves as documented | 2026-07-19 |
| 25.2.0.3 | Supported, behaves as documented | 2026-07-24 |
| 25.8.7.3 | Supported, behaves as documented | 2026-08-06 |
Why isn't XLOOKUP working in LibreOffice?
If XLOOKUP returns a #NAME? error in LibreOffice Calc, you are
almost certainly running a release older than 24.8.7.2 — that is exactly
what our executed tests show: #NAME? in 24.2.0.3, working from
24.8.7.2 onward. Check your version under Help → About LibreOffice and upgrade to
24.8.7.2 or newer; no setting or extension enables it in older releases. (Other causes of this
error: see the error values guide.)
Executed test cases
LibreOffice Calc 25.8.7.3 (tested 2026-08-06)
| Formula | Description | Result | Expected | Verdict |
|---|---|---|---|---|
| =XLOOKUP("b",A1:A3,B1:B3) | Basic exact-match lookup returns the corresponding value | 2 | 2 | Matched |
| =XLOOKUP("z",A1:A3,B1:B3) | No if_not_found arg and no match -> #N/A | #N/A | #N/A | Matched |
| =XLOOKUP("z",A1:A3,B1:B3,"missing") | Custom if_not_found value is returned when no match | missing | missing | Matched |
| =XLOOKUP(2.5,A1:A4,B1:B4,"none",-1) | match_mode -1 (exact or next smaller item) with no exact match | 20 | 20 2.5 has no exact match; next-smaller is 2 -> 20 |
Matched |
| =XLOOKUP("x",A1:A4,B1:B4,"none",0,-1) | search_mode -1 finds the LAST occurrence of a duplicated key | 3 | 3 Two rows match 'x' (1 and 3); reverse search returns the later one |
Matched |
| =XLOOKUP("a",A1:A1,B1:B1) | Degenerate 1-cell lookup/return arrays where the cell is blank | #N/A | #N/A A1 and B1 are blank; lookup value 'a' is not found |
Matched |
Docs & syntax
- Excel: official documentation
- Google Sheets: official documentation
Related how-to recipes
- How to use XLOOKUP
- How to look up the LAST matching value (not the first)
- How to look up a value with two criteria (multi-condition lookup)
- How to XLOOKUP from another sheet
- How to return a default value when a lookup finds nothing