Working with strings in Microsoft Excel is a daily task for many users, whether you are parsing complex datasets, concatenating names, or extracting a character from the middle of another string. Until recently, handling such text manipulations required intricate formulas, multiple functions, or alternative methods such as Text to Columns, Power Query, or Flash Fill. While these tools are useful, they often have limitations, especially when working with inconsistent or complex data.
With Microsoft’s new updates to Excel for Microsoft 365, a groundbreaking feature has been introduced: the TEXTSPLIT() function. This new function makes it easier than ever to split text into columns or rows directly with a formula, giving users flexibility, efficiency, and dynamic results.
In this comprehensive guide, we will explore everything you need to know about the TEXTSPLIT() function, from its syntax and arguments to practical use cases, advanced scenarios, and troubleshooting tips. By the end of this tutorial, you will not only understand how TEXTSPLIT() works but also discover creative ways to apply it in real-world Excel problems.
Introduction to TEXTSPLIT()
TEXTSPLIT() is a dynamic array function introduced in Excel for Microsoft 365. It allows you to split text into rows, columns, or both using delimiters. Unlike the traditional Text to Columns feature, TEXTSPLIT() is non-destructive, meaning it does not overwrite your original data. Instead, it dynamically spills results into multiple cells.
This function belongs to a family of new text functions Microsoft has added recently, including TEXTAFTER(), TEXTBEFORE(), and TEXTJOIN(). Together, they provide modern ways to handle string manipulation, reducing the reliance on older, more complicated formulas.
For instance, if you had a list of names combined into a single cell, TEXTSPLIT() can separate them into individual cells with a single, elegant formula. This eliminates the need for multiple steps or manual cleanup.
Syntax of TEXTSPLIT()

The syntax for the TEXTSPLIT() function is:
=TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with])
Arguments Explained
- text (Required):
The text string or cell reference that you want to split. - col_delimiter (Required):
The delimiter (such as a comma, space, or slash) that determines how the text is split across columns. - row_delimiter (Optional):
A delimiter that determines how the text should split down rows. - ignore_empty (Optional, default = TRUE):
When TRUE, empty values are ignored. When FALSE, empty values generate empty cells if multiple delimiters appear consecutively. - match_mode (Optional, default = 0):
Determines case sensitivity for delimiters.- 0 = Case-sensitive (default)
- 1 = Case-insensitive
- pad_with (Optional, default = #N/A):
A value used to fill empty cells when the output is uneven. For example, if some rows split into more columns than others, the missing spaces will display as #N/A unless another value is provided.
Key Differences Between TEXTSPLIT() and Text to Columns
Before diving into practical examples, let’s understand why TEXTSPLIT() is a superior option compared to the older Text to Columns feature:
- Non-destructive: Text to Columns overwrites your original data, while TEXTSPLIT() leaves your source untouched.
- Dynamic arrays: TEXTSPLIT() can spill results across multiple rows and columns automatically.
- Multiple delimiters: Unlike Text to Columns, which supports only one delimiter, TEXTSPLIT() can handle multiple delimiters at once.
- Flexibility: It allows you to split text into rows, columns, or both simultaneously.
Example 1: Splitting Data with a Simple Delimiter

Suppose you have a column of product codes formatted with slashes (e.g., A101/B202/C303). Traditionally, parsing these into separate columns required multiple steps. With TEXTSPLIT(), it’s straightforward:
=TEXTSPLIT(B3,"/")
When entered in cell C3, Excel will automatically spill the parsed values into columns C3, D3, and E3. This method works dynamically, so if the data changes, the results update instantly.
Example 2: Handling Irregular Data with Multiple Delimiters
Data isn’t always consistent. Some entries might contain spaces instead of slashes, or even multiple types of delimiters. Thankfully, TEXTSPLIT() can handle this with array delimiters.
=TEXTSPLIT(B3,{"/"," "})
This formula splits text using both slashes and spaces. Excel intelligently applies both delimiters, ensuring that irregularities don’t break your workflow.
Example 3: Parsing Dates into Components

Dates often need to be separated into day, month, and year for analysis. With TEXTSPLIT(), you can quickly extract these components.
=TEXTSPLIT(TEXT(B3,"m/d/yyyy"),"/")
Here’s what happens:
- The
TEXT()function converts the date into a string format (m/d/yyyy). - TEXTSPLIT() then splits it into three separate values: month, day, and year.
This is particularly helpful when working with datasets that require customized date breakdowns.
Example 4: Ignoring Specific Words or Titles

Sometimes data includes unnecessary words such as titles (“Mr.”, “Mrs.”, “Ms.”). You can use TEXTSPLIT() to ignore these by including them in the delimiter array:
=TEXTSPLIT(B3,{" ","Ms.","Mrs."},,TRUE)
This splits the text while removing the unwanted titles. Though not always perfect, it gives you flexibility to clean data without manual replacements.
Example 5: Splitting Text into Rows
While most users think of splitting data into columns, TEXTSPLIT() can also parse text down rows.
For example:
=TEXTSPLIT(B3,,",")
Here, the function uses a comma as the row delimiter, spilling the text vertically instead of horizontally. This is invaluable when preparing lists for analysis or creating structured tables.
Example 6: Using Both Row and Column Delimiters

One of TEXTSPLIT()’s most advanced features is its ability to use both row and column delimiters simultaneously.
Suppose you have the text string:
1,2,3;4,5,6
You can use:
=TEXTSPLIT(B3,",",";")
This splits values across columns (using commas) and moves to a new row when a semicolon appears. The result is a neat table:
1 2 3
4 5 6
Advanced Scenarios
Handling Empty Values
By default, TEXTSPLIT() ignores empty results. If you want to preserve them, set ignore_empty to FALSE.
=TEXTSPLIT(B3,",",,FALSE)
Case Sensitivity
Delimiters are case-sensitive by default. If you want to split text regardless of case, set match_mode to 1.
=TEXTSPLIT(B3,"X",,TRUE,1)
Filling Uneven Outputs
If one row has more values than another, you can use pad_with to fill missing cells with a custom value instead of #N/A.
=TEXTSPLIT(B3,",",,"",0,"-")
This replaces gaps with a hyphen (-).
Common Challenges and Solutions
- No delimiter present
If a cell has no delimiter, TEXTSPLIT() returns the original text. This is a good signal that the data needs cleaning. - Unexpected extra columns or rows
This usually happens when delimiters appear multiple times. Adjustignore_emptyor pre-clean the data with Find & Replace. - Mixed data structures
Complex datasets may require combining TEXTSPLIT() with other functions likeTRIM(),SUBSTITUTE(), orTEXTBEFORE().
Why TEXTSPLIT() Matters
TEXTSPLIT() represents a major leap forward in Excel’s text handling capabilities. It brings:
- Speed: Processes large datasets quickly.
- Automation: Updates dynamically as data changes.
- Flexibility: Handles multiple delimiters and layouts.
- Accuracy: Reduces errors from manual text parsing.
For data analysts, financial modelers, and everyday Excel users, this function saves time and eliminates repetitive work.
Conclusion
The new TEXTSPLIT() function in Microsoft Excel is one of the most versatile and powerful tools for handling strings. It not only simplifies the parsing of text but also opens new possibilities for working with inconsistent data, cleaning records, and structuring information dynamically. From basic delimiter-based splitting to advanced row-and-column parsing, TEXTSPLIT() equips you with the tools to handle data more effectively than ever before.
If you are a Microsoft 365 subscriber, this function is available now in Excel for desktop and Excel for the web. For those still using older versions, Text to Columns remains a fallback, but upgrading is worth it for the simplicity and power TEXTSPLIT() brings.
Mastering TEXTSPLIT() will significantly improve your productivity and accuracy, especially if text manipulation is a regular part of your workflow.
