Online Excel Editor
Free Use

TEXTSPLIT in Excel: Syntax, Examples and Errors

Updated 2026-10-13 · Free · Works in Excel & Google Sheets

Syntax

=TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])

Quick answer

TEXTSPLIT spills one cell into many: =TEXTSPLIT(A2, ",") breaks "a,b,c" into three columns, and a row delimiter also spills the pieces downward. It is a live formula that recalculates whenever the source changes — available in Microsoft 365 and Excel 2024, not in Excel 2021 or earlier.

Syntax

=TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])
ArgumentWhat it means
textThe cell or string to break apart — required. A2, "a,b,c", or any formula result.
col_delimiterThe text that spills the pieces across columns — "," for comma lists. Write it in quotes or point at a cell. Leave it empty (just a comma) when you only want rows.
[row_delimiter]The text that spills the pieces downward into rows — ";" or CHAR(10) for line breaks. Optional.
[ignore_empty]TRUE collapses consecutive delimiters so blanks leave no empty cells; the default FALSE keeps one cell per blank.
[match_mode]1 makes delimiter matching case-insensitive; the default 0 matches exactly, so "X" will not catch "x".
[pad_with]The value that fills gaps in uneven grids — the default is #N/A; common choices are "" or a placeholder like "n/a".

Depending on your regional settings, arguments are separated with semicolons instead of commas: =TEXTSPLIT(A2; ","). This is standard in countries where the comma is the decimal separator.

Basic examples

=TEXTSPLIT(A2, ",")

The everyday split: a cell holding "Smith, John" comes back as two cells side by side, spilled automatically. No wizard, no paste — the formula keeps recalculating whenever A2 changes.

=TEXTSPLIT(A2, , ",")

Leave col_delimiter empty and give a row delimiter instead: the same comma list now spills downward, one value per row. A quick way to unpack a single cell into a column — addresses, tags, any packed list.

=TEXTSPLIT(A2, {",", ";"})

An array constant accepts several delimiters at once: commas and semicolons both split, in any mix. No need to nest TEXTSPLIT inside itself — one formula handles inconsistent data.

=TEXTSPLIT(A2, ", ", , TRUE)

With ignore_empty set to TRUE, consecutive delimiters collapse: "a,,b" splits into two cells, not three with an empty middle. The default FALSE keeps one slot per blank — switch to TRUE when the gaps are noise.

Every piece TEXTSPLIT returns is text — the "123" spilled out of a cell is the string 123, not the number. Wrap pieces in VALUE before math, or keep the source column and convert in place.

Common errors and how to fix them

SymptomMost common causeFix
#SPILL!The spill range is blocked: TEXTSPLIT needs a clear patch of cells to the right or below, and even a single character in A3 gets in the way.Clear the area where the results land, or move the formula to a emptier row/column — the output grows with the source, so do not park data under it.
#NAME?Your Excel is not Microsoft 365 and not Excel 2024 — TEXTSPLIT arrived in 2022, so Excel 2021 and older do not know it; or the spelling is off.Type =TEXT and check the autocomplete list for TEXTSPLIT; if it is missing, upgrade your version, or use the Text to Columns wizard for a one-off split.
The text comes out untouched, nothing splitThe delimiter never matched: TEXTSPLIT is case-sensitive by default (match_mode 0), so "X" will not catch "x"; or invisible spaces make ", " miss ",".Check the actual separator (LEN helps expose hidden spaces) and add match_mode 1 for mixed case: =TEXTSPLIT(A2, ",", , , 1).
Empty cells appear in the resultsThe source has consecutive delimiters and ignore_empty defaults to FALSE, keeping a cell for every blank.Set ignore_empty to TRUE: =TEXTSPLIT(A2, ",", , TRUE) — consecutive delimiters collapse into one.
#N/A shows up at the end of short rowsWhen splitting by rows and columns at once, short rows are padded to a grid with #N/A by default — that is pad_with doing its job, not an error.Give a custom fill in the last argument: =TEXTSPLIT(A2, ",", ";", TRUE, , "") — an empty string or an "n/a" placeholder.

The split-out numbers are text: what TEXTSPLIT returns for "123" is a string, and SUM acts like it is not there. Wrap results in VALUE for math, or fix text-stored numbers in the source column first.

TEXTSPLIT vs. Text to Columns

TEXTSPLITText to Columns wizard
FormA live formula — the result follows the sourceA one-off operation, fixed once it runs
Source dataThe source cell stays put; results spill next to itOverwrites the original column in place — back up first
Multiple delimitersArray constants combine any mix: {",", ";"}Tick tabs, commas, semicolons, or one custom character
VersionsMicrosoft 365 and Excel 2024Every version of Excel
=TEXTSPLIT(A2, ",", ";")

One formula takes a column delimiter and a row delimiter together and spreads packed text straight into a grid — the wizard can only go one direction at a time and never refreshes with the data. Use the wizard for known, one-shot, in-place jobs; use TEXTSPLIT when you want it formula-driven, refreshing, and two-directional.

TEXTSPLIT in Google Sheets

Google Sheets has no TEXTSPLIT — the equivalent is SPLIT, which also spills one cell into an array of results, but with a different argument order and defaults.

  • The basic form is =SPLIT(A2, ","): the second argument is the delimiter. Note that the third argument split_by_each defaults to TRUE and treats the delimiter character by character — writing ",;" there splits on commas and semicolons at once, like TEXTSPLIT's array constant.
  • remove_empty_text is the counterpart of ignore_empty: =SPLIT(A2, ",", TRUE, TRUE) collapses consecutive delimiters with TRUE as the fourth argument.
  • The result is also a spilling array that recalculates when the source changes — same behavior as TEXTSPLIT on the Excel side.
  • In the other direction, TEXTJOIN exists in Sheets too: join packed lists back together with TEXTJOIN, break them apart with SPLIT.

Limitations and pro tips

  • TEXTSPLIT only exists in Microsoft 365 and Excel 2024 onward — Excel 2021, 2019 and 2016 have nothing like it, and #NAME? is the version signal.
  • The result is one dynamic array: you cannot edit a single cell inside it, the whole block changes together. To reference the whole spill, use the spill reference A2#.
  • Uneven grids are padded with #N/A by default: pass "" or a placeholder to pad_with so reports do not sprout error codes.
  • Split-out numbers and dates are text: SUM and AVERAGE ignore them until you convert with VALUE.
  • Line breaks inside a cell split too: CHAR(10) as the row delimiter turns one packed cell into several rows — remember to enable Wrap Text.

Treat TEXTSPLIT as the last mile of data ingestion: clean the source text first (spaces, line breaks, consistent delimiters), then split. The quality of the grid depends on the string you feed it — clean source, tidy grid.

Related Tools

Related Functions

Frequently Asked Questions

What does TEXTSPLIT do in Excel?

It breaks one cell's content apart on a delimiter and spills the pieces into neighboring cells: =TEXTSPLIT(A2, ",") spreads "a,b,c" into three columns, and a row delimiter also spills downward into rows. It is a live formula — the result recalculates whenever the source changes.

Which Excel versions have TEXTSPLIT?

Microsoft 365 and Excel 2024. TEXTSPLIT launched in 2022, so Excel 2021 and older have none of it — #NAME? is the too-old signal. There, use the Text to Columns wizard or a SEARCH+MID construction instead.

Why does TEXTSPLIT return #SPILL!?

The spill range is blocked: the results need a clear patch of cells, and anything sitting to the right or below stops them. Clear the landing area or move the formula to emptier space.

How do I split into rows instead of columns?

Leave col_delimiter empty and give a row delimiter: =TEXTSPLIT(A2, , ";") — with the first delimiter omitted, the text spills downward, one value per row.

How do I use several delimiters at once?

An array constant: =TEXTSPLIT(A2, {",", ";"}) — commas and semicolons both act as delimiters, in any mix. The array can hold more: {",", ";", "|"}.

How do I replace the #N/A in the results?

#N/A is the default pad_with fill for uneven grids. Swap it in the last argument: =TEXTSPLIT(A2, ",", ";", , , "") or a placeholder like "n/a".

Does TEXTSPLIT work in Google Sheets?

No — Sheets has no TEXTSPLIT; the equivalent is SPLIT: =SPLIT(A2, ","). Its split_by_each defaults to character-by-character matching, and remove_empty_text is the counterpart of ignore_empty.