How to Use the TEXTSPLIT Function in Excel to Separate Delimited Data

The “Text to Columns” Limitation

Data imported into Excel from legacy systems or external APIs is often heavily delimited. You might receive a single column containing data formatted like John-Smith-Marketing-Manager.

For decades, the standard way to separate this string into four clean columns (First Name, Last Name, Department, Title) was using the “Text to Columns” wizard on the Data ribbon.

The problem with “Text to Columns” is that it is a static, destructive action. It permanently modifies the data. If the source data changes tomorrow, or if you add new rows, you have to run the manual wizard all over again.

Microsoft revolutionized data parsing in Excel by introducing the TEXTSPLIT function. It acts exactly like “Text to Columns”, but it is a live, dynamic formula. It splits the text and spills it into an array that updates instantly if the source text changes.

The Syntax of TEXTSPLIT

=TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])
  • text: The messy string of text (or cell reference) you want to break apart.
  • col_delimiter: The specific character (like a comma, dash, or space) where Excel should chop the text into separate columns.
  • The remaining arguments are optional for advanced manipulation.

1. The Basic Horizontal Split

Assume cell A2 contains the text: John,Smith,Marketing,Manager

You want to break this into four clean columns. Click in cell B2 and type:

=TEXTSPLIT(A2, ",")

How it works:
Excel looks at the text in A2. Every time it hits a comma (,), it chops the word off and pushes the next word into the adjacent cell to the right. It instantly spills “John”, “Smith”, “Marketing”, and “Manager” across columns B, C, D, and E.

Because it is a live formula, if you change “Marketing” to “Sales” in the original A2 cell, the spilled array updates instantly in milliseconds.

2. Splitting by Multiple Delimiters

Sometimes data is incredibly messy. You might have a string like Apple, Banana; Orange/Grape. It uses commas, semicolons, and slashes randomly.

If you use =TEXTSPLIT(A2, ","), it will only break at the comma, leaving “Banana; Orange/Grape” stuck together.

You can tell TEXTSPLIT to look for multiple different delimiters simultaneously by passing them as an array inside curly brackets {}.

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

This tells Excel: “Chop the text if you see a comma, OR a semicolon, OR a slash.” It successfully separates all four fruits into perfectly clean columns.

3. The Vertical Split (Row Delimiter)

By default, TEXTSPLIT pushes data horizontally into new columns. What if you want to push the data vertically into new rows?

Notice the syntax: =TEXTSPLIT(text, col_delimiter, row_delimiter).

To split the data vertically, you simply skip the second argument (the column delimiter) by typing a comma, and put your delimiter into the third argument.

For the string Apples,Bananas,Oranges:

=TEXTSPLIT(A2, , ",")

Excel will chop the text at the commas, but instead of pushing the words to the right, it will spill them downward into three separate rows in the same column.

Conclusion

The TEXTSPLIT function completely replaces the legacy “Text to Columns” wizard for automated dashboard design. By converting raw string separation into a live, non-destructive formula, it allows data analysts to build pristine, auto-updating ETL (Extract, Transform, Load) pipelines directly on the spreadsheet grid.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.