How to Split Text in Excel Into Columns

SQL COALESCE vs ISNULL Difference

If you have ever received data in Excel where everything is crammed into a single column e.g. full names in one cell, addresses in one field, product codes combined with descriptions — you already know how frustrating it is to work with.

Splitting text into separate columns is one of the most common data cleaning tasks in Excel. And fortunately, Excel gives you several powerful ways to do it from point-and-click tools that take seconds to flexible formulas that handle complex patterns automatically.

In this guide, we will walk through every method for splitting text in Excel into columns (Text to Columns, Flash Fill, text formulas, and Power Query) with clear step-by-step examples, real-world use cases, and practical tips for choosing the right approach.

Why Splitting Text Into Columns Matters

Before diving into the methods, it is worth understanding why this skill is so important in real-world data work.

Better analysis — You cannot easily sort by last name or filter by city if names and addresses are combined in one cell

Cleaner data — Separate columns make data easier to read, filter, and summarize with pivot tables

Database compatibility — Most databases and data tools expect data in structured, separate columns

Formula accuracy — Many Excel formulas and functions work much better when data is properly separated

Whether you are cleaning a customer list, preparing data for import, or restructuring a report: knowing how to split text efficiently will save you hours of manual work.

Setting Up Example Data

We will use several example datasets throughout this guide to cover different splitting scenarios.

Column A — Full Names:
Alice Johnson
Bob Smith
Charlie Brown
Diana Prince
Eve Williams

Column B — Email Addresses:
alice.johnson@company.com
bob.smith@gmail.com
charlie.brown@outlook.com

Column C — Full Addresses:
123 Main Street, New York, NY, 10001
456 Oak Avenue, Los Angeles, CA, 90001
789 Pine Road, Chicago, IL, 60601

Column D — Product Codes:
ELEC-LAPTOP-001
FURN-CHAIR-042
CLOTH-SHIRT-107

Method 1: Text to Columns (Fastest for One-Time Splits)

Text to Columns is Excel’s built-in tool for splitting data. It is the fastest method for a one-time split and requires no formulas. You simply point Excel to your data, tell it how to split it, and it does the rest instantly.

How to Split by a Delimiter (Comma, Space, Dash, etc.)

A delimiter is a character that separates the parts you want to split like a comma, space, dash, or pipe symbol.

Step 1: Select Your Data

Click on the column containing the text you want to split. For our example, select all cells in the Full Names column (A1:A5).

Step 2: Open Text to Columns

Go to the Data tab in the ribbon → Click Text to Columns

The Convert Text to Columns Wizard will open.

Step 3: Choose Delimited

In Step 1 of the wizard, select Delimited (this means your data is separated by a specific character like a space or comma).

Click Next.

Step 4: Choose Your Delimiter

In Step 2, choose the delimiter that separates your data.

For full names separated by a space:

  • Uncheck Tab (unchecked by default in some versions)
  • Check Space

The Data Preview at the bottom will show you exactly how the data will be split before you commit.

For comma-separated data like addresses:

  • Check Comma

For dash-separated product codes like ELEC-LAPTOP-001:

  • Check Other and type - in the box next to it

Click Next.

Step 5: Choose Destination and Data Format

In Step 3:

  • Column data format — Choose General for most cases. Choose Text if your data contains leading zeros (like zip codes) that you do not want Excel to treat as numbers
  • Destination — By default, Excel overwrites the original column and places results in adjacent columns. To keep your original data intact, change the destination to an empty column for example, type C1 to start the split results in column C

Click Finish.

Result — Full Names Split by Space:

First NameLast Name
AliceJohnson
BobSmith
CharlieBrown
DianaPrince
EveWilliams

How to Split by Fixed Width

Use Fixed Width when your data does not have a delimiter but each piece occupies a consistent number of characters.

Example — Product IDs with fixed-width codes:

ID      Name
001     Laptop
042     Chair
107     Shirt

Step 1: Select your data → Data tab → Text to Columns

Step 2: Choose Fixed Width → Click Next

Step 3: Click in the Data Preview ruler to place break lines where you want to split. Click and drag to move break lines. Double-click to remove them.

Step 4: Click Finish

Limitations of Text to Columns

  • It is a one-time operation — if your source data changes, you need to run it again manually
  • It overwrites or displaces existing data in adjacent columns if you are not careful
  • It does not update automatically when new rows are added

Method 2: Flash Fill (Fastest for Pattern-Based Splits)

Flash Fill is one of Excel’s most impressive features. It watches what you type, recognizes the pattern, and fills in the rest of the column automatically.

How to Use Flash Fill

Step 1: Type the First Example

In the cell next to your data, manually type the result you want for the first row.

For splitting first names from full names in column A:

  • Click cell B1
  • Type Alice (just the first name from the full name in A1)
  • Press Enter

Step 2: Start Typing the Second Example

Click cell B2 and start typing Bob — Excel will immediately recognize the pattern and show a grey preview of the first names for all rows below.

Step 3: Accept the Flash Fill Suggestion

Press Enter to accept the suggestion. Excel fills in all the first names automatically.

Step 4: Repeat for Last Names

Click cell C1, type Johnson, press Enter, click C2, start typing Smith — Flash Fill fills in all last names automatically.

Flash Fill With More Complex Patterns

Flash Fill is not limited to simple splits. It recognizes a wide range of patterns.

Example — Extract domain from email addresses:

EmailDomain
alice@company.comType: company.com
bob@gmail.comFlash Fill: gmail.com
charlie@outlook.comFlash Fill: outlook.com

Example — Reformat dates:

OriginalReformatted
20240115Type: 15-Jan-2024
20240228Flash Fill: 28-Feb-2024

Example — Combine AND split simultaneously:

Flash Fill can extract a middle name, rearrange name order (Last, First), or extract just initials — whatever pattern you demonstrate in the first cell.

How to Trigger Flash Fill Manually

If Flash Fill does not appear automatically:

  • Press Ctrl + E after typing your first example
  • Or go to Data tab → Flash Fill

Limitations of Flash Fill

  • Like Text to Columns, it is a one-time operation — results are static values, not formulas
  • It can misread patterns if your data is inconsistent — always verify the results
  • It does not work well with very irregular or complex data

Method 3: Text Formulas (Dynamic, Automatic Updates)

Text formulas are the most flexible and powerful approach. Unlike Text to Columns and Flash Fill, formulas update automatically when your source data changes making them ideal for ongoing data cleaning workflows.

The Key Text Functions

  • LEFT(text, num_chars) — Extracts characters from the left
  • RIGHT(text, num_chars) — Extracts characters from the right
  • MID(text, start_num, num_chars) — Extracts from the middle
  • FIND(find_text, within_text) — Returns position of a character (case-sensitive)
  • SEARCH(find_text, within_text) — Returns position of a character (case-insensitive)
  • LEN(text) — Returns total length of text
  • TRIM(text) — Removes extra spaces

Example 1: Split First and Last Name (Two-Word Names)

Dataset:

ABC
Full NameFirst NameLast Name
Alice Johnson
Bob Smith
Charlie Brown

Extract First Name (everything before the space):

=LEFT(A2, FIND(" ", A2) - 1)

How It Works:

  1. FIND(" ", A2) finds the position of the space — returns 6 for “Alice Johnson”
  2. Subtracting 1 gives us 5 — the number of characters in “Alice”
  3. LEFT(A2, 5) extracts the 5 leftmost characters — “Alice”

Extract Last Name (everything after the space):

=MID(A2, FIND(" ", A2) + 1, LEN(A2))

How It Works:

  1. FIND(" ", A2) finds the space position — returns 6
  2. Adding 1 gives us 7 — the starting position of the last name
  3. LEN(A2) gives the total length — 13 for “Alice Johnson”
  4. MID(A2, 7, 13) extracts from position 7 to the end — “Johnson”

Example 2: Split First, Middle, and Last Name (Three-Word Names)

Three-part names require finding both spaces.

Dataset: “Mary Jane Watson”

Extract First Name:

=LEFT(A2, FIND(" ", A2) - 1)

Result: Mary

Extract Middle Name:

=MID(A2, FIND(" ", A2) + 1, FIND(" ", A2, FIND(" ", A2) + 1) - FIND(" ", A2) - 1)

How It Works:

  1. First FIND(" ", A2) finds the first space position
  2. Second FIND(" ", A2, FIND(" ", A2) + 1) finds the second space — the third argument tells FIND where to start looking
  3. The difference gives the length of the middle name
  4. MID extracts it

Result: Jane

Extract Last Name:

=MID(A2, FIND(" ", A2, FIND(" ", A2) + 1) + 1, LEN(A2))

Result: Watson

Example 3: Split by Comma (City, State, Zip)

Dataset: “New York, NY, 10001”

Extract City (before first comma):

=LEFT(A2, FIND(",", A2) - 1)

Result: New York

Extract State (between first and second comma):

=TRIM(MID(A2, FIND(",", A2) + 1, FIND(",", A2, FIND(",", A2) + 1) - FIND(",", A2) - 1))

Result: NY

Extract Zip Code (after second comma):

=TRIM(MID(A2, FIND(",", A2, FIND(",", A2) + 1) + 1, LEN(A2)))

Result: 10001

Note: TRIM() removes any leading or trailing spaces that appear after splitting on a comma followed by a space.

Example 4: Split by Dash (Product Codes)

Dataset: “ELEC-LAPTOP-001”

Extract Category (before first dash):

=LEFT(A2, FIND("-", A2) - 1)

Result: ELEC

Extract Product Type (between dashes):

=MID(A2, FIND("-", A2) + 1, FIND("-", A2, FIND("-", A2) + 1) - FIND("-", A2) - 1)

Result: LAPTOP

Extract Item Number (after second dash):

=MID(A2, FIND("-", A2, FIND("-", A2) + 1) + 1, LEN(A2))

Result: 001

Example 5: Extract Username and Domain From Email

Extract Username (before @):

=LEFT(A2, FIND("@", A2) - 1)

Result: alice.johnson

Extract Domain (after @):

=MID(A2, FIND("@", A2) + 1, LEN(A2))

Result: company.com

Using TEXTSPLIT (Excel 365 and Excel 2021+)

If you are using Excel 365 or Excel 2021, the TEXTSPLIT function dramatically simplifies splitting text replacing the complex nested formulas above with a single, readable function.

TEXTSPLIT Syntax

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

Example: Split Full Name

=TEXTSPLIT(A2, " ")

This single formula splits “Alice Johnson” into two cells automatically — no nested FIND or MID required. The results spill into adjacent cells automatically.

Example: Split Address by Comma

=TEXTSPLIT(A2, ", ")

Splits “New York, NY, 10001” into three cells: New York | NY | 10001

Example: Split Product Code by Dash

=TEXTSPLIT(A2, "-")

Splits “ELEC-LAPTOP-001” into three cells: ELEC | LAPTOP | 001

Example: Split Into Rows Instead of Columns

=TEXTSPLIT(A2, , " ")

Using the row_delimiter parameter instead of col_delimiter splits into rows rather than columns.

TEXTSPLIT is by far the cleanest formula approach when available and you should always use it if your Excel version supports it.

Method 4: Power Query (Best for Repeatable, Large-Scale Splitting)

Power Query is Excel’s built-in data transformation engine. It is the best choice when you need to split text as part of a repeatable data cleaning process especially when working with large datasets or data that refreshes regularly.

How to Split a Column in Power Query

Step 1: Load Data Into Power Query

Select your data range → Go to Data tab → Click From Table/Range

If your data is not already in a table, Excel will ask you to convert it. Click OK.

The Power Query Editor will open.

Step 2: Select the Column to Split

Click the column header of the column you want to split to select it.

Step 3: Split Column

Go to Home tab (or Transform tab) → Click Split Column → Choose your method:

  • By Delimiter — Split on a specific character (comma, space, dash, custom)
  • By Number of Characters — Split after a fixed number of characters
  • By Positions — Split at specific character positions
  • By Uppercase to Lowercase — Split where case changes
  • By Digit to Non-Digit — Split where numbers meet letters

Step 4: Configure Split Settings

For By Delimiter:

  • Choose the delimiter from the dropdown (comma, colon, semicolon, space, tab, custom)
  • Choose where to split: At each occurrence, At the leftmost, or At the rightmost delimiter
  • Click Advanced Options to split into a specific number of columns or rows

Step 5: Rename the New Columns

Double-click each new column header to rename it from the default “Column1.1”, “Column1.2” to meaningful names like “First Name” and “Last Name”.

Step 6: Close and Load

Click Home → Close & Load to bring the transformed data back into Excel as a new table or worksheet.

The Power of Power Query Refresh

The biggest advantage of Power Query is that the transformation is saved as a set of steps. When your source data changes or new rows are added:

  1. Simply click Data → Refresh All
  2. Power Query re-runs all your steps automatically
  3. The split columns update instantly with the new data

This makes Power Query the clear winner for any ongoing data process where the data changes regularly.

Advanced Power Query Split — Split Into Rows

Power Query can also split delimited values into rows rather than columns. This is useful when one cell contains multiple values that should each be a separate record.

Example: One cell contains “Alice, Bob, Charlie” (three names that should each be their own row)

In Power Query: Split Column → By Delimiter → Advanced Options → Split into Rows

All Methods Side by Side

FeatureText to ColumnsFlash FillText FormulasTEXTSPLITPower Query
Speed Very Fast Very Fast Moderate Fast Moderate setup
Updates Automatically No No Yes Yes Yes (on refresh)
Handles Complex Patterns Limited Limited YesYes Yes
Requires Formulas No No Yes Yes No
Beginner Friendly Yes Yes Moderate Yes Moderate
Large Datasets Manual Manual Yes Yes Best
Repeatable Process No No Yes Yes Best
Excel Version RequiredAll2013+All / 365+365/2021+2016+
Split Into Rows No No Complex Yes Yes

Real-World Use Cases

Splitting Customer Names for a CRM Import

A customer list exported from a legacy system has full names in one column. The CRM requires separate first name and last name fields.

Best approach: Text to Columns (space delimiter) for a quick one-time split, or TEXTSPLIT formula if new customers are added regularly.

Cleaning Address Data for Mapping

A dataset has full addresses in one cell (street, city, state, zip) separated by commas. You need them in separate columns for geocoding or analysis.

Best approach: Power Query split by comma especially if the dataset is large or refreshes regularly from an external source.

Extracting Email Domains for Segmentation

A marketing team has a list of customer emails and needs to segment by email domain (gmail.com, company.com, outlook.com) to understand channel mix.

Best approach: MID formula with FIND(“@”) to extract the domain, or TEXTSPLIT if using Excel 365.

Parsing Product Codes for Inventory Analysis

Product codes follow a structured format (CATEGORY-TYPE-NUMBER) and need to be split so you can filter and pivot by category and type separately.

Best approach: Text to Columns with dash delimiter for a one-time clean, or TEXTSPLIT formula for an ongoing product list.

Processing Survey Responses With Multiple Selections

Survey data where respondents could select multiple options and answers are stored as comma-separated values in one cell and you need each response as a separate row.

Best approach: Power Query split by delimiter into rows is the only clean solution for this pattern.

Advantages and Disadvantages of Each Method

Text to Columns

Advantages: Fastest for one-time splits, no formulas needed, works in all Excel versions, handles both delimiter and fixed-width splits
Disadvantages: Static result. It does not update automatically, can overwrite adjacent data if not careful, must be rerun for every new batch of data

Flash Fill

Advantages: Extremely fast, recognizes complex patterns without formulas, great for irregular formatting Disadvantages: Static result, can misread patterns in inconsistent data, requires manual verification, no formula transparency

Text Formulas (LEFT, MID, RIGHT, FIND)

Advantages: Updates automatically when source data changes, fully transparent and auditable, works in all Excel versions
Disadvantages: Complex nested formulas for multi-part splits, harder to read and maintain, easy to make errors

TEXTSPLIT (Excel 365/2021)

Advantages: Single clean formula replaces complex nesting, spills results automatically, handles columns and rows
Disadvantages: Only available in Excel 365 and Excel 2021, not backward compatible

Power Query

Advantages: Best for large datasets, repeatable with one-click refresh, handles complex transformations, no formula knowledge needed
Disadvantages: Steeper learning curve for beginners, results are in a separate table, overkill for simple one-time splits

Common Mistakes to Avoid

  • Not backing up data before Text to Columns — Text to Columns modifies your data in place by default. Always work on a copy of your original data or specify a destination column
  • Forgetting to set destination in Text to Columns — If adjacent columns have data, Text to Columns will overwrite them without warning. Always set the destination to an empty area
  • Trusting Flash Fill without verifying — Flash Fill is powerful but not perfect. Always scroll through all results to make sure it correctly identified the pattern, especially with inconsistent data
  • Using FIND when SEARCH is needed — FIND is case-sensitive. If your data has inconsistent capitalization, use SEARCH instead to avoid errors
  • Not using TRIM after splitting — Splits on comma-space separators often leave leading spaces on the extracted values. Always wrap your formula in TRIM() to clean them up
  • Using Text to Columns on data that updates regularly — If your data changes, you will need to re-run the split manually every time. Use formulas or Power Query instead
  • Forgetting to format zip codes and ID numbers as text — When splitting data containing leading zeros (zip codes, employee IDs), set the column format to Text in the Text to Columns wizard or Power Query to prevent Excel from dropping the leading zeros

Quick Reference Cheat Sheet

TaskBest MethodFormula / Approach
Quick one-time splitText to ColumnsData → Text to Columns → Delimited
Pattern-based splitFlash FillType example → Ctrl + E
Split first nameFormula=LEFT(A2, FIND(" ",A2)-1)
Split last nameFormula=MID(A2, FIND(" ",A2)+1, LEN(A2))
Split by commaFormula=LEFT(A2, FIND(",",A2)-1)
Extract after @ in emailFormula=MID(A2, FIND("@",A2)+1, LEN(A2))
Split any delimiter (365)TEXTSPLIT=TEXTSPLIT(A2, "-")
Large dataset, repeatablePower QueryData → From Table → Split Column
Split into rowsPower QuerySplit Column → By Delimiter → Into Rows

Splitting text into columns is one of the most essential data cleaning skills in Excel. Whether you are cleaning a customer list, preparing data for import, or restructuring a report — knowing which method to reach for makes the difference between spending seconds or hours on the task.

Here is the simplest decision framework:

  • One-time split, simple delimiter → Text to Columns
  • One-time split, irregular pattern → Flash Fill
  • Split that needs to update automatically → TEXTSPLIT formula (Excel 365) or LEFT/MID/RIGHT formulas
  • Large dataset or repeatable process → Power Query

Start with Text to Columns and Flash Fill for quick wins. Learn the text formulas for dynamic, formula-driven solutions. And invest time in Power Query for anything that involves large or regularly refreshing data.

Once you have all four methods in your toolkit, splitting messy text data into clean, structured columns becomes one of the fastest tasks in your entire data cleaning workflow.

FAQs

How do I split text into columns in Excel?

The fastest way is Data tab → Text to Columns. Choose Delimited, select your delimiter (space, comma, dash), and click Finish. For automatic updates, use the TEXTSPLIT formula in Excel 365 or LEFT/MID/RIGHT formulas in any version.

How do I split a full name into first and last name in Excel?

Use Text to Columns with Space as the delimiter for a quick split. For a formula approach use =LEFT(A2, FIND(" ",A2)-1) for first name and =MID(A2, FIND(" ",A2)+1, LEN(A2)) for last name.

What is the TEXTSPLIT function in Excel?

TEXTSPLIT is an Excel 365 and Excel 2021 function that splits text into multiple cells using a delimiter. For example =TEXTSPLIT(A2, ",") splits comma-separated values into separate columns automatically.

Can I split text into rows instead of columns in Excel?

Yes. In Power Query, use Split Column → By Delimiter → Advanced Options → Split into Rows. With TEXTSPLIT in Excel 365, use the row_delimiter parameter instead of the column delimiter.

Why does Text to Columns keep overwriting my data?

By default, Text to Columns places results starting in the original column and writes into adjacent columns. To prevent overwriting, specify a different destination cell in Step 3 of the wizard.

Which method is best for splitting text that changes regularly?

Use TEXTSPLIT formula (Excel 365) or LEFT/MID/RIGHT formulas for data that changes in place, or Power Query for data that refreshes from an external source. Both update automatically when source data changes.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top