← All functions

DETECTLANGUAGE

Unsupported (not recognized)

Category: Text · Last tested 2026-09-01

Real compatibility results for the DETECTLANGUAGE 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.

Support matrix

EngineDocumentedLive-testedVerdict
Excel (desktop)Yes No — documented only n/a
Excel for the web— Yes (recalc, 2026-09-01) Supported, behaves as documented
Google SheetsYes Yes (Drive import, 2026-08-31) Supported, behaves as documented
LibreOffice CalcNo Yes (25.8.7.3, 2026-08-31) Unsupported (not recognized)

LibreOffice version history

We executed the same test cases under each LibreOffice release to show exactly when DETECTLANGUAGE’s support changed — not documentation claims, real results.

LibreOffice versionVerdictTested
24.2.0.3 Unsupported (not recognized) 2026-08-31
24.8.7.2 Unsupported (not recognized) 2026-08-31
25.2.0.3 Unsupported (not recognized) 2026-08-31
25.8.7.3 Unsupported (not recognized) 2026-08-31

Why isn't DETECTLANGUAGE working in LibreOffice?

LibreOffice Calc does not implement DETECTLANGUAGE as of 25.8.7.3 — in our executed tests it returns a #NAME? (unrecognized function) error. This is not a typo or a settings problem, and saving the file as .xlsx does not change it: the function simply isn’t available yet. The same formula is documented for Excel, and we executed it successfully in Google Sheets on 2026-08-31. Watch the LibreOffice version support page — we re-run every test on each new release, so it will flip to Supported here as soon as it lands.

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.

FormulaDescriptionResultExpectedVerdict
=DETECTLANGUAGE("Hola mundo!") Existence probe only: Microsoft's documented worked example, recorded without an asserted expected value because the documented result is not reproducible offline es
Provenance

NOT DETERMINISTICALLY ASSERTABLE, and deliberately recorded as a probe rather than a support claim -- the same treatment batch B gave COPILOT and the CUBE* family. Microsoft's page opens with "This function is a service backed function. The supported languages and results may vary as languages are added or removed", and documents the function as calling Microsoft Translation Services over the network; its listed failure modes ("Text Too Long", "Request Throttled -- You have exceeded your daily quota of the translation function") are properties of that service, not of a spreadsheet engine. No offline engine can reproduce the documented answer "es", and an engine that DID return "es" from a local language-guess table would not thereby be compatible with the documented service. What the run does establish is recorded separately: probing all four pinned LibreOffice builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3) with the plain name, the _xlfn. storage form and the COM.MICROSOFT. add-in form returned #NAME? for all three spellings on every build, which is the signature of a name the engine does not implement at all.

Ran OK

Google Sheets (executed 2026-08-31 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.

FormulaDescriptionResultExpectedVerdict
=DETECTLANGUAGE("Hola mundo!") Existence probe only: Microsoft's documented worked example, recorded without an asserted expected value because the documented result is not reproducible offline es
Provenance

NOT DETERMINISTICALLY ASSERTABLE, and deliberately recorded as a probe rather than a support claim -- the same treatment batch B gave COPILOT and the CUBE* family. Microsoft's page opens with "This function is a service backed function. The supported languages and results may vary as languages are added or removed", and documents the function as calling Microsoft Translation Services over the network; its listed failure modes ("Text Too Long", "Request Throttled -- You have exceeded your daily quota of the translation function") are properties of that service, not of a spreadsheet engine. No offline engine can reproduce the documented answer "es", and an engine that DID return "es" from a local language-guess table would not thereby be compatible with the documented service. What the run does establish is recorded separately: probing all four pinned LibreOffice builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3) with the plain name, the _xlfn. storage form and the COM.MICROSOFT. add-in form returned #NAME? for all three spellings on every build, which is the signature of a name the engine does not implement at all.

Ran OK

LibreOffice Calc 25.8.7.3 (tested 2026-08-31)

FormulaDescriptionResultExpectedVerdict
=DETECTLANGUAGE("Hola mundo!") Existence probe only: Microsoft's documented worked example, recorded without an asserted expected value because the documented result is not reproducible offline #NAME?
Provenance

NOT DETERMINISTICALLY ASSERTABLE, and deliberately recorded as a probe rather than a support claim -- the same treatment batch B gave COPILOT and the CUBE* family. Microsoft's page opens with "This function is a service backed function. The supported languages and results may vary as languages are added or removed", and documents the function as calling Microsoft Translation Services over the network; its listed failure modes ("Text Too Long", "Request Throttled -- You have exceeded your daily quota of the translation function") are properties of that service, not of a spreadsheet engine. No offline engine can reproduce the documented answer "es", and an engine that DID return "es" from a local language-guess table would not thereby be compatible with the documented service. What the run does establish is recorded separately: probing all four pinned LibreOffice builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3) with the plain name, the _xlfn. storage form and the COM.MICROSOFT. add-in form returned #NAME? for all three spellings on every build, which is the signature of a name the engine does not implement at all.

Error

Docs & syntax