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])| Argument | What it means |
|---|---|
| text | The cell or string to break apart — required. A2, "a,b,c", or any formula result. |
| col_delimiter | The 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
| Symptom | Most common cause | Fix |
|---|---|---|
| #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 split | The 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 results | The 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 rows | When 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
| TEXTSPLIT | Text to Columns wizard | |
|---|---|---|
| Form | A live formula — the result follows the source | A one-off operation, fixed once it runs |
| Source data | The source cell stays put; results spill next to it | Overwrites the original column in place — back up first |
| Multiple delimiters | Array constants combine any mix: {",", ";"} | Tick tabs, commas, semicolons, or one custom character |
| Versions | Microsoft 365 and Excel 2024 | Every 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.
Ready to try it on your own file?
Open Split Text into Columns in Excel — It's Free