Stop Doing TEXT TO COLUMNS — Try TEXTSPLIT Instead

It’s 3:12 PM. You just pasted 847 customer addresses from a CSV into column A. Each cell looks like "Sarah Chen, Acme Corp, $45,200, 2024-03-15". Your boss needs the company names in column B by 3:30. You click Data > Text to Columns—and realize you’ll have to repeat it for every row manually.

Quick Answer

TEXTSPLIT is built-in if you’re on Microsoft 365 or Excel 2021+. You don’t “add” it—you use it like any other function: =TEXTSPLIT(A1, ", "). No installation, no add-ins, no ribbon button. If it returns #NAME?, your version doesn’t support it—upgrade or use SUBSTITUTE + FILTERXML (Method 2).

All the Methods

MethodTime for 10K rowsAccuracyDifficulty
TEXTSPLIT (native)0.8 sec100%Easy
FILTERXML + SUBSTITUTE (legacy)4.3 sec92% (fails on commas inside quotes)Medium
Power Query Split Column6.1 sec + manual refresh100% (but breaks formula links)Medium-Hard
VBA UDF (custom function)2.7 sec100% (if written correctly)Hard

Method 1 Deep Dive

Open Excel. Type this in B1:

=TEXTSPLIT(A1, ", ")

Now paste this sample data starting at A1:

A1
James Lin, BetaSoft Inc., $62,800, 2024-02-28
Maya Ruiz, Nova Labs, $71,150, 2024-03-05
David Kim, Zenith Group, $54,900, 2024-01-19
Lena Park, Apex Dynamics, $83,400, 2024-03-12
Tariq Hassan, Solis Systems, $69,200, 2024-02-10

Press Enter. TEXTSPLIT spills results across B1:E1 automatically. No dragging. No copy-paste. It fills B1:E5 when you enter the formula in B1 and press Ctrl+Enter (or just Enter if dynamic arrays are enabled).

Use =TEXTSPLIT(A1, ", ",,TRUE) to ignore empty segments—critical when some rows have missing fields. That last TRUE tells Excel to skip blank results, like if a cell reads "Alex Wu, , $58,300, 2024-03-20".

Surprising tip: TEXTSPLIT accepts an array of delimiters. Try =TEXTSPLIT(A1, {", "," | "}) if your source mixes commas and pipes.

Method 2 Deep Dive

If you’re stuck on Excel 2019 or earlier, TEXTSPLIT won’t work. Don’t install add-ins. Do this instead:

In B1, enter:

=FILTERXML(""&SUBSTITUTE(A1,", ","")&"","//s[1]")

This extracts the first segment (name). For the second segment (company), change [1] to [2] in the XPath string.

Fill down to B5. Then select B1:B5, hold Ctrl, and press Alt + H + V + V to Paste Values (that’s Alt → H → V → V). Why? Because FILTERXML recalculates every time anything changes—even scrolling. Paste values first, then build the rest.

Sample output for A1 = "James Lin, BetaSoft Inc., $62,800, 2024-02-28":

B1C1D1E1
James LinBetaSoft Inc.$62,8002024-02-28

Warning: This fails if any value contains a comma *inside* quotes—e.g., "Taylor Reed, "CloudNine, LLC", $55,600, 2024-03-01". TEXTSPLIT handles that fine. FILTERXML does not.

Cheat Sheet

TaskFormula / ShortcutNotes
Split with comma + space=TEXTSPLIT(A1,", ")Works in B1:E1 spill range
Skip empty segments=TEXTSPLIT(A1,", ",,TRUE)Fourth argument = TRUE
Extract 3rd segment only=INDEX(TEXTSPLIT(A1,", "),,3)No spill — returns single value
Legacy fallback (Excel 2019)=FILTERXML(""&SUBSTITUTE(A1,", ","")&"","//s[3]")Replace [3] with [1], [2], etc.
Paste values fastAlt + H + V + VAfter FILTERXML, before editing
Check your versionFile > Account > About ExcelLook for “Microsoft 365” or “Excel 2021”
Michael Lee

Michael Lee

Michael covers the latest in office software updates