LibreOffice Calc function support by version
Which functions does each LibreOffice Calc release actually support? We ran the
same corpus of test formulas under LibreOffice 24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3 and recorded the
real computed results — so this is machine-verified compatibility, not documentation claims.
22 functions that returned #NAME? in
24.2.0.3 now work in a later release — and below is the exact version each one
landed in.
Newly supported functions — and the release each landed in
These functions were not recognized (returned #NAME?) in
LibreOffice 24.2.0.3 but became fully supported in a later release. Most are modern
dynamic-array and lookup functions Excel and Google Sheets already had. The
Supported since column is the earliest release we tested where the function works.
| Function | Category | 24.2.0.3 | 24.8.7.2 | 25.2.0.3 | 25.8.7.3 | Supported since |
|---|---|---|---|---|---|---|
| LET | Logical | Unsupported | Supported | Supported | Supported | 24.8.7.2 |
| RANDARRAY | Math and trigonometry | Unsupported | Supported | Supported | Supported | 24.8.7.2 |
| SEQUENCE | Math and trigonometry | Unsupported | Supported | Supported | Supported | 24.8.7.2 |
| SORT | Lookup and reference | Unsupported | Supported | Quirk | Supported | 24.8.7.2 |
| SORTBY | Lookup and reference | Unsupported | Supported | Supported | Supported | 24.8.7.2 |
| UNIQUE | Lookup and reference | Unsupported | Supported | Supported | Supported | 24.8.7.2 |
| XLOOKUP | Lookup and reference | Unsupported | Supported | Supported | Supported | 24.8.7.2 |
| XMATCH | Lookup and reference | Unsupported | Supported | Supported | Supported | 24.8.7.2 |
| CHOOSECOLS | Lookup and reference | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| CHOOSEROWS | Lookup and reference | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| DROP | Lookup and reference | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| EXPAND | Lookup and reference | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| HSTACK | Lookup and reference | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| TAKE | Lookup and reference | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| TEXTAFTER | Text | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| TEXTBEFORE | Text | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| TEXTSPLIT | Text | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| TOCOL | Lookup and reference | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| TOROW | Lookup and reference | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| VSTACK | Lookup and reference | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| WRAPCOLS | Lookup and reference | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
| WRAPROWS | Lookup and reference | Unsupported | Unsupported | Unsupported | Supported | 25.8.7.3 |
Other support changes
Functions whose behaviour changed across these releases in some other way — for example, newly recognized but with an edge-case quirk rather than full support.
| Function | Category | 24.2.0.3 | 24.8.7.2 | 25.2.0.3 | 25.8.7.3 |
|---|---|---|---|---|---|
| FILTER | Lookup and reference | Unsupported | Quirk | Quirk | Quirk |
| IMSQRT | Engineering | Quirk | Quirk | Supported | Supported |
| LAMBDA | Logical | Unsupported | Quirk | Quirk | Quirk |
Stability across releases (executed)
Once a function works in one tested LibreOffice build, does it keep giving the same answer in the next? For every non-volatile test case that ran in all of 24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3: 2011 cases across 488 functions returned the identical executed value in every build after the first one that supported them. 6 cases did not:
- SORT —
SORT_empty_range_error:#NAME?→0→#VALUE!→0(24.2.0.3 → 24.8.7.2 → 25.2.0.3 → 25.8.7.3) - FORECAST.ETS.CONFINT —
FORECAST.ETS.CONFINT_value_probe:2.47508252916495→2.75111718602854→2.56895011375767→2.48299605391747(24.2.0.3 → 24.8.7.2 → 25.2.0.3 → 25.8.7.3) - FORECAST.ETS.CONFINT —
FORECAST.ETS.CONFINT_duplicate_timeline_value:3.94384389277733→3.80076059832243→4.08717123707907→3.66439998164772(24.2.0.3 → 24.8.7.2 → 25.2.0.3 → 25.8.7.3) - IMSQRT —
IMSQRT_of_minus_one_is_i:1i→1i→i→i(24.2.0.3 → 24.8.7.2 → 25.2.0.3 → 25.8.7.3) - RAND.NV —
RAND_NV_evaluates:0.943824714155659→0.752083346534562→0.627720908815956→0.919043699716592(24.2.0.3 → 24.8.7.2 → 25.2.0.3 → 25.8.7.3) - RANDBETWEEN.NV —
RANDBETWEEN_NV_docs_example:24→21→29→25(24.2.0.3 → 24.8.7.2 → 25.2.0.3 → 25.8.7.3)
Volatile functions (NOW, RAND, RANDARRAY, RANDBETWEEN, TODAY) are excluded because their
values legitimately differ between runs. “Newly supported” transitions
(#NAME? → working) are counted in the tables above, not here. This is measured on
the releases we sampled, not every point release.
How we know
For each LibreOffice release, we build a workbook of test formulas with no cached values, force a full headless recalculation, and read back the computed results — with volatile and arithmetic canaries proving the recalculation genuinely happened. The same method powers every function page and the formula checker. Versions tested so far: 24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3.
Related cross-app gaps: Google Sheets functions that don’t exist in Excel · Excel functions that don’t exist in Google Sheets · how we verify.