SORT
Quirk foundCategory: Lookup and reference · Last tested 2026-09-01
Real compatibility results for the SORT function: executed in Excel for the web, 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.
SORT 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 SORT in LibreOffice Calc, use 24.8.7.2 or newer.
Support matrix
| Engine | Documented | Live-tested | Verdict |
|---|---|---|---|
| Excel (desktop) | Yes | No — documented only | n/a |
| Excel for the web | — | Yes (recalc, 2026-09-01) | Supported, behaves as documented |
| Google Sheets | Yes | Yes (Drive import, 2026-08-29) | Quirk found |
| LibreOffice Calc | Yes | Yes (25.8.7.3, 2026-07-29) | Supported, behaves as documented |
LibreOffice version history
We executed the same test cases under each LibreOffice release to show exactly when SORT’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 | Supported, behaves as documented | 2026-08-29 |
| 25.2.0.3 | Quirk found | 2026-08-29 |
| 25.8.7.3 | Supported, behaves as documented | 2026-07-29 |
Why isn't SORT working in LibreOffice?
If SORT 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.)
Why isn’t SORT working in Google Sheets?
SORT 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.
_xlfn., _xlfn._xlws.,
_xlpm.) — nor does the .xlsx export preserve full float
precision or a blank result. Where the disagreement is explained by that
round trip we report it as inconclusive rather than as a Sheets behavior.
Google documents this function, so the result is not evidence of
missing support. See the methodology page
for the full caveat and the planned re-run with plain function names.
Discovered quirks
-
=SORT(A1:A5,1,-1) on
Google Sheets returned
1, but the documented/expected
result is {5, 4, 3, 1, 1}.
Provenance
MISMATCH vs expected: value mismatch: expected 5, got 1
Executed test cases
Excel for the web (executed 2026-09-01 via OneDrive recalculation)
These values come from Excel for the web, not from desktop Excel. They are two different implementations of the calculation engine, and this run measured only the web one: the corpus was uploaded to OneDrive as .xlsx, recalculated by Excel for the web on open, and downloaded again for readback. Excel for the web is a rolling service with no pinnable version, so the run is identified by its date. Where a value here disagrees with the Expected column — which is Microsoft’s documentation of the desktop product — we cannot tell you whether the web engine diverges from the desktop one or the documentation is wrong about both, because we do not run desktop Excel.
| Formula | Description | Result | Expected | Verdict |
|---|---|---|---|---|
| =SORT(A1:A5) | Default sort_index=1, ascending | {1, 1, 3, 4, 5} | {1, 1, 3, 4, 5} | Matched |
| =SORT(A1:A5,1,-1) | Explicit descending sort order | {5, 4, 3, 1, 1} | {5, 4, 3, 1, 1} | Matched |
| =SORT(A1:B3,2,1) | 2D range sorted by its second column ascending | {y, 10, z, 20, x, 30} | {{y, 10}, {z, 20}, {x, 30}} | Matched |
| =SORT(A1:A1) | Sorting a single blank cell (degenerate case) | 0 | 0ProvenanceBlank cell sorts as 0 in numeric context; no error expected |
Matched |
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 |
|---|---|---|---|---|
| =SORT(A1:A5) | Default sort_index=1, ascending | {1, 1.0, 3.0, 4.0, 5.0} | {1, 1, 3, 4, 5} | Matched |
| =SORT(A1:A5,1,-1) | Explicit descending sort order | {1, 1.0, 3.0, 4.0, 5.0} | {5, 4, 3, 1, 1} | Mismatch |
| =SORT(A1:B3,2,1) | 2D range sorted by its second column ascending | {y, 10.0, z, 20.0, x, 30.0} | {{y, 10}, {z, 20}, {x, 30}} | Matched |
| =SORT(A1:A1) | Sorting a single blank cell (degenerate case) | 0ProvenanceBlank cell sorts as 0 in numeric context; no error expected |
Inconclusive |
LibreOffice Calc 25.8.7.3 (tested 2026-07-29)
| Formula | Description | Result | Expected | Verdict |
|---|---|---|---|---|
| =SORT(A1:A5) | Default sort_index=1, ascending | {1, 1, 3, 4, 5} | {1, 1, 3, 4, 5} | Matched |
| =SORT(A1:A5,1,-1) | Explicit descending sort order | {5, 4, 3, 1, 1} | {5, 4, 3, 1, 1} | Matched |
| =SORT(A1:B3,2,1) | 2D range sorted by its second column ascending | {y, 10, z, 20, x, 30} | {{y, 10}, {z, 20}, {x, 30}} | Matched |
| =SORT(A1:A1) | Sorting a single blank cell (degenerate case) | 0 | 0ProvenanceBlank cell sorts as 0 in numeric context; no error expected |
Matched |
Docs & syntax
- Excel (desktop): official documentation
- Google Sheets: official documentation
- LibreOffice Calc: official documentation
Related how-to recipes
Where SORT behaves differently
- Which LibreOffice version for VSTACK, TEXTSPLIT, TAKE & DROP?
VSTACK, HSTACK, TEXTSPLIT, TAKE and DROP return #NAME? in LibreOffice 24.2, 24.8 and 25.2 - our executed runs show all fourteen working only from 25.8.7.3. Full version map by wave. - SORT descending in Google Sheets: is_ascending vs sort_order
Excel's SORT takes a numeric sort_order (1/-1); Google Sheets' third argument is a boolean is_ascending. Executed, =SORT(A2:A4,1,-1) returns 10, 20, 50 in Google Sheets against 50, 20, 10 in LibreOffice 25.8.7.3 - ascending, with no error anywhere. The fix is FALSE. - Your function exists but your file cannot say so: _xlfn storage tokens
Executed: eight IM* functions LibreOffice implements return #NAME? on all four builds because it cannot read Excel's _xlfn. token for them, while COT and CSC only work under that same prefix. Eleven LibreOffice aliases are erased by its own exporter, and a token change between 24.2 and 24.8 makes a 24.8-written file open as #NAME? in 24.2. - 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.