How to Split Cells in Excel: A Complete Guide
Microsoft Excel provides multiple methods to split cell contents based on your data structure and requirements. Whether you need to separate first and last names, split data into multiple columns, or divide text dynamically, Excel has built-in tools to make the process simple.
This guide covers all the effective methods to split cells in Excel, including:
- Text to Columns (for structured data separation)
- Excel formulas (for dynamic splitting)
- Flash Fill (for automatic pattern recognition)
- Power Query (for advanced splitting options)
- Splitting cells vertically (into rows)
- Splitting cells diagonally (for visual representation)
- Using VBA for automation (for repetitive tasks)
1) Using Text to Columns in Excel
The Text to Columns feature is one of the easiest ways to split text into separate columns.
- Select the cells containing the data you want to split.
- Go to the Data tab and click Text to Columns.
- In the wizard, choose the splitting method:
- Delimited – Use this if data is separated by a character like a comma, space, or tab.
- Fixed Width – Use this if data is evenly spaced and needs to be split at specific positions.
- If using Delimited, select the correct delimiter (comma, space, tab, etc.).
- Define the destination cell where the split data should be placed.
- Click Finish to apply the changes.
Example
Original Data | First Name | Last Name |
---|---|---|
John Doe | John | Doe |
Alice Smith | Alice | Smith |
Mark Johnson | Mark | Johnson |
2) Splitting Cells Using Excel Formulas
If you need a dynamic solution, Excel formulas can extract specific portions of text.
Extract First Name (Text Before a Space)
=LEFT(A1, FIND(" ", A1) - 1)
Extract Last Name (Text After a Space)
=RIGHT(A1, LEN(A1) - FIND(" ", A1))
These formulas work when data is separated by a space. You can modify them based on different delimiters like commas or hyphens.
Extracting Middle Name
For names with a middle name, use:
=MID(A1, FIND(" ", A1) + 1, FIND(" ", A1, FIND(" ", A1) + 1) - FIND(" ", A1) - 1)
3) Using Flash Fill to Split Cells Automatically
Flash Fill automatically detects patterns and fills in the remaining cells accordingly.
- Enter the first split value in a neighboring cell manually.
- Press Ctrl + E or go to the Data tab and select Flash Fill.
- Excel will automatically detect and apply the pattern to the rest of the column.
Flash Fill is ideal for separating names, dates, or any structured text with recognizable patterns.
4) Using Power Query for Advanced Splitting
Power Query is useful for complex splitting tasks, especially when dealing with large datasets.
- Select the data and go to Data > Get & Transform Data > From Table/Range.
- In Power Query Editor, select the column you want to split.
- Click Split Column > Choose By Delimiter or By Number of Characters.
- Define splitting parameters and click OK.
- Click Close & Load to apply changes and return the data to Excel.
5) Splitting Cells Vertically (Into Rows)
Excel does not have a direct method to split cells into rows, but you can achieve this by following these steps:
- Use Text to Columns to split the data into separate columns.
- Select the split data and copy it.
- Go to a new location, right-click, and choose Paste Special > Transpose.
Example
Original Data | Split Data |
---|---|
Apple, Orange, Banana | Apple |
Orange | |
Banana | |
Grapes |
6) Splitting Cells Diagonally (For Formatting)
If you need to visually divide a cell, Excel provides an option to draw diagonal lines within a cell.
- Right-click the cell and choose Format Cells.
- Go to the Border tab.
- Select a diagonal line from the border options.
- Click OK to apply the changes.
This is mainly for presentation purposes, such as labeling headers in reports or tables.
7) Using VBA to Automate Cell Splitting
For users who frequently need to split cells, VBA (Visual Basic for Applications) can automate the process.
VBA Code to Split Cells by Space
Sub SplitCells()
Dim cell As Range
Dim words As Variant
Dim i As Integer
For Each cell In Selection
words = Split(cell.Value, " ")
For i = LBound(words) To UBound(words)
cell.Offset(0, i).Value = words(i)
Next i
Next cell
End Sub
To use this macro:
- Press Alt + F11 to open the VBA Editor.
- Insert a New Module.
- Copy and paste the above code.
- Run the macro to split selected cells.
Summary of Methods to Split Cells in Excel
Method | Use Case |
---|---|
Text to Columns | Best for structured data with delimiters |
Formulas (LEFT, RIGHT, MID) | Ideal for dynamic text extraction |
Flash Fill | Useful for automatic pattern recognition |
Power Query | Best for large datasets and complex splitting needs |
Transpose (Vertical Split) | Converts columns to rows |
Diagonal Split | For visual formatting purposes |
VBA Automation | Automates splitting tasks efficiently |
Each method offers a solution based on your specific needs. Whether you’re working with names, addresses, numbers, or custom formats, these Excel techniques will help you split cells efficiently and save time in your workflow.
Frequently Asked Questions
How do I split a cell in Excel using Text to Columns?
You can split a cell using the “Text to Columns” feature by selecting the data, going to the “Data” tab, clicking “Text to Columns,” choosing “Delimited” or “Fixed Width,” selecting the delimiter, and then clicking “Finish.”
Can I split cells dynamically using Excel formulas?
Yes, you can use formulas like LEFT()
, RIGHT()
, and MID()
along with FIND()
and LEN()
to extract specific parts of a cell dynamically.
How does Flash Fill help in splitting cells?
Flash Fill automatically recognizes patterns when you manually enter the first split value in an adjacent column. Press Ctrl + E to apply the pattern to the rest of the column.
What is the best method to split large datasets?
For large datasets, Power Query is the best method. It allows advanced splitting based on delimiters or specific character positions without modifying the original data.
Can I split cells into rows instead of columns?
Yes, first split the data into columns using “Text to Columns,” then use “Paste Special > Transpose” to convert the columns into rows.
Is there a way to automate cell splitting in Excel?
Yes, you can use a VBA macro to automate the splitting of text in cells based on delimiters. This is useful for repetitive tasks.

Vaishvi Desai is the founder of Excelsamurai and a passionate Excel enthusiast with years of experience in data analysis and spreadsheet management. With a mission to help others harness the power of Excel, Vaishvi shares her expertise through concise, easy-to-follow tutorials on shortcuts, formulas, Pivot Tables, and VBA.