LAMBDA
Quirk foundCategory: Logical · Last tested 2026-08-29
Real compatibility results for the LAMBDA function: executed in Google Sheets and LibreOffice Calc, with desktop Excel behavior from Microsoft’s official documentation (we do not run desktop Excel — Excel for the web is a different application and is executed separately). Syntax and links to that documentation are below.
Support matrix
| Engine | Documented | Live-tested | Verdict |
|---|---|---|---|
| Excel (desktop) | Yes | No — documented only | n/a |
| Excel for the web | — | No — file could not be opened | n/a |
| Google Sheets | Yes | Yes (Drive import, 2026-08-29) | Quirk found |
| LibreOffice Calc | No | Yes (25.8.7.3, 2026-07-29) | Quirk found |
LibreOffice version history
We executed the same test cases under each LibreOffice release to show exactly when LAMBDA’s support changed — not documentation claims, real results.
| LibreOffice version | Verdict | Tested |
|---|---|---|
| 24.2.0.3 | Unsupported (not recognized) | 2026-08-29 |
| 24.8.7.2 | Quirk found | 2026-08-29 |
| 25.2.0.3 | Quirk found | 2026-08-29 |
| 25.8.7.3 | Quirk found | 2026-07-29 |
Why isn't LAMBDA working in LibreOffice?
LAMBDA exists in LibreOffice 25.8.7.3, but it is not a drop-in match for
Excel — our executed tests found real behavioral differences (detailed in the test results on this
page). If a formula that works in Excel or Google Sheets misbehaves in LibreOffice, compare your usage
against the failing cases above before assuming your data is wrong.
Why isn’t LAMBDA working in Google Sheets?
LAMBDA runs in Google Sheets, but our executed cases show it does not match
Excel’s documented behavior on every input (the failing cases are listed on this page). If a
formula that behaves one way in Excel gives you a different answer in Sheets, compare your usage
against those cases before assuming your data is wrong.
.xlsx to OneDrive and opening it, and its file-open refuses any workbook whose stored formulas carry the _xlpm./LAMBDA storage serialization (“Couldn’t Open the Workbook”, no cell-level diagnostic). Proven by bisect: the 40-function chunk carrying it was refused, the same chunk minus LAMBDA/LET/ISOMITTED opened, and those three alone were refused again. Desktop Excel implements LAMBDA — it is Microsoft’s own function — and LibreOffice’s executed verdict for it is published below. What we cannot do is carry it into the web engine to measure, so no Excel-for-the-web verdict is drawn. The irony is the finding: Excel for the web will not open a file containing Excel’s own LAMBDA-family storage serialization.
Discovered quirks
-
=LAMBDA(x,y,x+y)(3) on
Google Sheets returned
#N/A, but the documented/expected
result is #VALUE!.
Provenance
MISMATCH vs expected: expected '#VALUE!', got '#N/A'
-
=LAMBDA(x,x*2)(5) on
LibreOffice Calc returned
#VALUE!, but the documented/expected
result is 10.
Provenance
MISMATCH vs expected: expected 10, got '#VALUE!'
-
=LAMBDA(x,y,x+y)(3,4) on
LibreOffice Calc returned
#VALUE!, but the documented/expected
result is 7.
Provenance
MISMATCH vs expected: expected 7, got '#VALUE!'
-
=LET(f,LAMBDA(x,x^2),f(4)) on
LibreOffice Calc returned
#VALUE!, but the documented/expected
result is 16.
Provenance
MISMATCH vs expected: expected 16, got '#VALUE!'
Executed test cases
Google Sheets (executed 2026-08-29 via Drive import)
Google Sheets is a rolling service with no pinnable version, so this run is identified by its date. The corpus was imported to Drive as .xlsx, recalculated by Sheets, and exported back for readback.
| Formula | Description | Result | Expected | Verdict |
|---|---|---|---|---|
| =LAMBDA(x,x*2)(5) | Immediately-invoked LAMBDA with one parameter | 10 | 10 | Matched |
| =LAMBDA(x,y,x+y)(3,4) | LAMBDA with two parameters | 7 | 7 | Matched |
| =LET(f,LAMBDA(x,x^2),f(4)) | LAMBDA bound to a name via LET, then called | 16 | 16 | Matched |
| =LAMBDA(x,y,x+y)(3) | Calling with fewer arguments than parameters is an error | #N/A | #VALUE! | Mismatch |
LibreOffice Calc 25.8.7.3 (tested 2026-07-29)
| Formula | Description | Result | Expected | Verdict |
|---|---|---|---|---|
| =LAMBDA(x,x*2)(5) | Immediately-invoked LAMBDA with one parameter | #VALUE! | 10 | Mismatch |
| =LAMBDA(x,y,x+y)(3,4) | LAMBDA with two parameters | #VALUE! | 7 | Mismatch |
| =LET(f,LAMBDA(x,x^2),f(4)) | LAMBDA bound to a name via LET, then called | #VALUE! | 16 | Mismatch |
| =LAMBDA(x,y,x+y)(3) | Calling with fewer arguments than parameters is an error | #VALUE! | #VALUE! | Matched |
Docs & syntax
- Excel (desktop): official documentation
- Google Sheets: official documentation
Where LAMBDA behaves differently
- LAMBDA, MAP & SCAN: Excel vs LibreOffice
Excel evaluates LAMBDA(x,x*2)(5) as 10; LibreOffice returns #VALUE! for inline lambdas and #NAME? for MAP, SCAN and REDUCE. What breaks and how to rewrite it. - openpyxl and _xlfn.XLOOKUP: why your XLOOKUP opens as #NAME?
openpyxl writes formula text verbatim, so =XLOOKUP(...) is stored in the .xlsx under its plain name. Executed 2026-09-12: that cell is #NAME? in Excel for the web and in all four pinned LibreOffice builds, while =_xlfn.XLOOKUP(...) returns 20 in Excel for the web and in LibreOffice 24.8, 25.2 and 25.8.