← All functions

SPLIT

Unsupported (not recognized)

Category: Text · Last tested 2026-09-01

Real compatibility results for the SPLIT function: executed in Excel for the web, Google Sheets and LibreOffice Calc, measured against Google’s published documentation. Excel does not document SPLIT, so this page makes no claim about Excel. Syntax and links to that documentation are below.

Support matrix

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

LibreOffice version history

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

LibreOffice versionVerdictTested
24.2.0.3 Unsupported (not recognized) 2026-09-01
24.8.7.2 Unsupported (not recognized) 2026-09-01
25.2.0.3 Unsupported (not recognized) 2026-09-01
25.8.7.3 Unsupported (not recognized) 2026-09-01

Why isn't SPLIT working in LibreOffice?

LibreOffice Calc does not implement SPLIT 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. 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.

Discovered quirks

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
=SPLIT("Alas, poor Yorick"," ") The page's second Sample Usage line, verbatim {#NAME?, #NAME?, #NAME?} {Alas,, poor, Yorick}
Provenance

The page's own sample formula. DERIVED from the definition "Divides text around a specified character or string, and puts each fragment into a separate cell in the row" together with the Note "Note that the character or characters to split the string around will not be contained in the result themselves" -- so the spaces vanish and the comma, which is not the delimiter, stays attached to "Alas,". This sample was chosen over the page's SPLIT("1,2,3", ",") line deliberately: that one's fragments look like numbers and would test type coercion rather than splitting. ARRAY RESULT: this case spills more than one cell, so it is written as a real array formula over an explicit check_range and compared cell by cell in row-major order, the same convention SORT, UNIQUE, SEQUENCE and TEXTSPLIT already use in this corpus. SPLIT's page publishes NO results: three Sample Usage formulas, and an Examples section that is only a "Make a copy" link to an external spreadsheet, which is not article text. Every value below is DERIVED from the argument descriptions, which are unusually explicit for this batch. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136. BATCH PROVENANCE (batch H, the first Sheets/LibreOffice-only batch). Every function in this batch has x == false in docs/data/compat.json: it is a Google Sheets function that Microsoft does not document at all, so this corpus makes NO claim about it in that engine and nothing here is measured against that vendor's documentation. The authority is Google's own support.google.com function page, cited by full URL and by the date it was read -- Google publishes no version number for these pages, so a bare URL dates nothing. WHAT GOOGLE ACTUALLY PRINTS, WHICH IS LESS THAN IT LOOKS: most of these pages carry a 'Sample Usage' block of FORMULAS WITH NO RESULTS. Where a value below is Google's own published output the note says so; where it is derived from the page's stated semantics the note says that instead, and says from which sentence. No value in this batch was taken from a search snippet, a blog or a mirror. LIBREOFFICE: probed on all four pinned builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3) in five storage spellings -- plain, _xlfn., COM.MICROSOFT., ORG.OPENOFFICE. and _xlfn.ORG.OPENOFFICE. -- and #NAME? under every one of them, so the expected values below describe Google Sheets and the LibreOffice column records absence.

Mismatch
=SPLIT("mother","the") The page's own worked description of split_by_each, executed {#NAME?, #NAME?} {mo, r}
Provenance

DERIVED FROM THE PAGE'S OWN WORDED EXAMPLE, which it never executes: "By default, each character in delimiter is considered individually, e.g. if delimiter is \"the\", then text is divided around the characters \"t\", \"h\", and \"e\"." Splitting "mother" on {t, h, e} gives "mo", "", "", "r"; remove_empty_text defaults to TRUE, which the page says means "treat consecutive delimiters as one", so the empties drop and two fragments remain. ARRAY RESULT: this case spills more than one cell, so it is written as a real array formula over an explicit check_range and compared cell by cell in row-major order, the same convention SORT, UNIQUE, SEQUENCE and TEXTSPLIT already use in this corpus. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Mismatch
=SPLIT("a-the-b","the",FALSE) The same delimiter with split_by_each turned off {#NAME?, #NAME?} {a-, -b}
Provenance

DERIVED from "Set split_by_each to FALSE to turn off this behavior", i.e. the delimiter is then matched as one whole string. "a-the-b" contains "the" once, so it yields two fragments and the hyphens -- which the previous case's character-set reading would have left untouched anyway -- survive. This is the exact pair that shows the flag doing something. ARRAY RESULT: this case spills more than one cell, so it is written as a real array formula over an explicit check_range and compared cell by cell in row-major order, the same convention SORT, UNIQUE, SEQUENCE and TEXTSPLIT already use in this corpus. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Mismatch
=COLUMNS(SPLIT("a,,b",",")) Two adjacent delimiters with remove_empty_text left at its default #NAME? 2
Provenance

DERIVED from the remove_empty_text description: "[OPTIONAL - TRUE by default] ... The default behavior is to treat consecutive delimiters as one (if TRUE)." Counted through COLUMNS rather than compared as a spilled array, because the interesting quantity is HOW MANY cells come back and an empty cell is exactly the thing that is hard to compare. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Mismatch
=COLUMNS(SPLIT("a,,b",",",TRUE,FALSE)) The same string with the flag turned off #NAME? 3
Provenance

DERIVED from the rest of the same sentence: "If FALSE, empty cells values are added between consecutive delimiters." The pair with the previous case is what makes either meaningful: 2 against 3. Note the third argument must be supplied positionally to reach the fourth. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Mismatch
=COUNTIF(SPLIT("a-b-c","-"),"*-*") The Note's claim about the delimiter, asserted structurally #NAME? 0
Provenance

A structural assertion with no derived constant, from the Note: "Note that the character or characters to split the string around will not be contained in the result themselves." COUNTIF with the wildcard pattern "*-*" counts fragments still containing a hyphen, and the Note says that must be none. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Mismatch

Google Sheets (executed 2026-09-01 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
=SPLIT("Alas, poor Yorick"," ") The page's second Sample Usage line, verbatim {Alas,, poor, Yorick} {Alas,, poor, Yorick}
Provenance

The page's own sample formula. DERIVED from the definition "Divides text around a specified character or string, and puts each fragment into a separate cell in the row" together with the Note "Note that the character or characters to split the string around will not be contained in the result themselves" -- so the spaces vanish and the comma, which is not the delimiter, stays attached to "Alas,". This sample was chosen over the page's SPLIT("1,2,3", ",") line deliberately: that one's fragments look like numbers and would test type coercion rather than splitting. ARRAY RESULT: this case spills more than one cell, so it is written as a real array formula over an explicit check_range and compared cell by cell in row-major order, the same convention SORT, UNIQUE, SEQUENCE and TEXTSPLIT already use in this corpus. SPLIT's page publishes NO results: three Sample Usage formulas, and an Examples section that is only a "Make a copy" link to an external spreadsheet, which is not article text. Every value below is DERIVED from the argument descriptions, which are unusually explicit for this batch. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136. BATCH PROVENANCE (batch H, the first Sheets/LibreOffice-only batch). Every function in this batch has x == false in docs/data/compat.json: it is a Google Sheets function that Microsoft does not document at all, so this corpus makes NO claim about it in that engine and nothing here is measured against that vendor's documentation. The authority is Google's own support.google.com function page, cited by full URL and by the date it was read -- Google publishes no version number for these pages, so a bare URL dates nothing. WHAT GOOGLE ACTUALLY PRINTS, WHICH IS LESS THAN IT LOOKS: most of these pages carry a 'Sample Usage' block of FORMULAS WITH NO RESULTS. Where a value below is Google's own published output the note says so; where it is derived from the page's stated semantics the note says that instead, and says from which sentence. No value in this batch was taken from a search snippet, a blog or a mirror. LIBREOFFICE: probed on all four pinned builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3) in five storage spellings -- plain, _xlfn., COM.MICROSOFT., ORG.OPENOFFICE. and _xlfn.ORG.OPENOFFICE. -- and #NAME? under every one of them, so the expected values below describe Google Sheets and the LibreOffice column records absence.

Matched
=SPLIT("mother","the") The page's own worked description of split_by_each, executed {mo, r} {mo, r}
Provenance

DERIVED FROM THE PAGE'S OWN WORDED EXAMPLE, which it never executes: "By default, each character in delimiter is considered individually, e.g. if delimiter is \"the\", then text is divided around the characters \"t\", \"h\", and \"e\"." Splitting "mother" on {t, h, e} gives "mo", "", "", "r"; remove_empty_text defaults to TRUE, which the page says means "treat consecutive delimiters as one", so the empties drop and two fragments remain. ARRAY RESULT: this case spills more than one cell, so it is written as a real array formula over an explicit check_range and compared cell by cell in row-major order, the same convention SORT, UNIQUE, SEQUENCE and TEXTSPLIT already use in this corpus. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Matched
=SPLIT("a-the-b","the",FALSE) The same delimiter with split_by_each turned off {a-, -b} {a-, -b}
Provenance

DERIVED from "Set split_by_each to FALSE to turn off this behavior", i.e. the delimiter is then matched as one whole string. "a-the-b" contains "the" once, so it yields two fragments and the hyphens -- which the previous case's character-set reading would have left untouched anyway -- survive. This is the exact pair that shows the flag doing something. ARRAY RESULT: this case spills more than one cell, so it is written as a real array formula over an explicit check_range and compared cell by cell in row-major order, the same convention SORT, UNIQUE, SEQUENCE and TEXTSPLIT already use in this corpus. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Matched
=COLUMNS(SPLIT("a,,b",",")) Two adjacent delimiters with remove_empty_text left at its default 2 2
Provenance

DERIVED from the remove_empty_text description: "[OPTIONAL - TRUE by default] ... The default behavior is to treat consecutive delimiters as one (if TRUE)." Counted through COLUMNS rather than compared as a spilled array, because the interesting quantity is HOW MANY cells come back and an empty cell is exactly the thing that is hard to compare. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Matched
=COLUMNS(SPLIT("a,,b",",",TRUE,FALSE)) The same string with the flag turned off 3 3
Provenance

DERIVED from the rest of the same sentence: "If FALSE, empty cells values are added between consecutive delimiters." The pair with the previous case is what makes either meaningful: 2 against 3. Note the third argument must be supplied positionally to reach the fourth. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Matched
=COUNTIF(SPLIT("a-b-c","-"),"*-*") The Note's claim about the delimiter, asserted structurally 0 0
Provenance

A structural assertion with no derived constant, from the Note: "Note that the character or characters to split the string around will not be contained in the result themselves." COUNTIF with the wildcard pattern "*-*" counts fragments still containing a hyphen, and the Note says that must be none. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Matched

LibreOffice Calc 25.8.7.3 (tested 2026-09-01)

FormulaDescriptionResultExpectedVerdict
=SPLIT("Alas, poor Yorick"," ") The page's second Sample Usage line, verbatim {#NAME?, #NAME?, #NAME?} {Alas,, poor, Yorick}
Provenance

The page's own sample formula. DERIVED from the definition "Divides text around a specified character or string, and puts each fragment into a separate cell in the row" together with the Note "Note that the character or characters to split the string around will not be contained in the result themselves" -- so the spaces vanish and the comma, which is not the delimiter, stays attached to "Alas,". This sample was chosen over the page's SPLIT("1,2,3", ",") line deliberately: that one's fragments look like numbers and would test type coercion rather than splitting. ARRAY RESULT: this case spills more than one cell, so it is written as a real array formula over an explicit check_range and compared cell by cell in row-major order, the same convention SORT, UNIQUE, SEQUENCE and TEXTSPLIT already use in this corpus. SPLIT's page publishes NO results: three Sample Usage formulas, and an Examples section that is only a "Make a copy" link to an external spreadsheet, which is not article text. Every value below is DERIVED from the argument descriptions, which are unusually explicit for this batch. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136. BATCH PROVENANCE (batch H, the first Sheets/LibreOffice-only batch). Every function in this batch has x == false in docs/data/compat.json: it is a Google Sheets function that Microsoft does not document at all, so this corpus makes NO claim about it in that engine and nothing here is measured against that vendor's documentation. The authority is Google's own support.google.com function page, cited by full URL and by the date it was read -- Google publishes no version number for these pages, so a bare URL dates nothing. WHAT GOOGLE ACTUALLY PRINTS, WHICH IS LESS THAN IT LOOKS: most of these pages carry a 'Sample Usage' block of FORMULAS WITH NO RESULTS. Where a value below is Google's own published output the note says so; where it is derived from the page's stated semantics the note says that instead, and says from which sentence. No value in this batch was taken from a search snippet, a blog or a mirror. LIBREOFFICE: probed on all four pinned builds (24.2.0.3, 24.8.7.2, 25.2.0.3, 25.8.7.3) in five storage spellings -- plain, _xlfn., COM.MICROSOFT., ORG.OPENOFFICE. and _xlfn.ORG.OPENOFFICE. -- and #NAME? under every one of them, so the expected values below describe Google Sheets and the LibreOffice column records absence.

Mismatch
=SPLIT("mother","the") The page's own worked description of split_by_each, executed {#NAME?, #NAME?} {mo, r}
Provenance

DERIVED FROM THE PAGE'S OWN WORDED EXAMPLE, which it never executes: "By default, each character in delimiter is considered individually, e.g. if delimiter is \"the\", then text is divided around the characters \"t\", \"h\", and \"e\"." Splitting "mother" on {t, h, e} gives "mo", "", "", "r"; remove_empty_text defaults to TRUE, which the page says means "treat consecutive delimiters as one", so the empties drop and two fragments remain. ARRAY RESULT: this case spills more than one cell, so it is written as a real array formula over an explicit check_range and compared cell by cell in row-major order, the same convention SORT, UNIQUE, SEQUENCE and TEXTSPLIT already use in this corpus. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Mismatch
=SPLIT("a-the-b","the",FALSE) The same delimiter with split_by_each turned off {#NAME?, #NAME?} {a-, -b}
Provenance

DERIVED from "Set split_by_each to FALSE to turn off this behavior", i.e. the delimiter is then matched as one whole string. "a-the-b" contains "the" once, so it yields two fragments and the hyphens -- which the previous case's character-set reading would have left untouched anyway -- survive. This is the exact pair that shows the flag doing something. ARRAY RESULT: this case spills more than one cell, so it is written as a real array formula over an explicit check_range and compared cell by cell in row-major order, the same convention SORT, UNIQUE, SEQUENCE and TEXTSPLIT already use in this corpus. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Mismatch
=COLUMNS(SPLIT("a,,b",",")) Two adjacent delimiters with remove_empty_text left at its default #NAME? 2
Provenance

DERIVED from the remove_empty_text description: "[OPTIONAL - TRUE by default] ... The default behavior is to treat consecutive delimiters as one (if TRUE)." Counted through COLUMNS rather than compared as a spilled array, because the interesting quantity is HOW MANY cells come back and an empty cell is exactly the thing that is hard to compare. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Mismatch
=COLUMNS(SPLIT("a,,b",",",TRUE,FALSE)) The same string with the flag turned off #NAME? 3
Provenance

DERIVED from the rest of the same sentence: "If FALSE, empty cells values are added between consecutive delimiters." The pair with the previous case is what makes either meaningful: 2 against 3. Note the third argument must be supplied positionally to reach the fourth. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Mismatch
=COUNTIF(SPLIT("a-b-c","-"),"*-*") The Note's claim about the delimiter, asserted structurally #NAME? 0
Provenance

A structural assertion with no derived constant, from the Note: "Note that the character or characters to split the string around will not be contained in the result themselves." COUNTIF with the wildcard pattern "*-*" counts fragments still containing a hyphen, and the Note says that must be none. Google's SPLIT page, read live on 2026-08-31 at https://support.google.com/docs/answer/3094136.

Mismatch

Docs & syntax

Related how-to recipes

Where SPLIT behaves differently