Split Full Names into First, Middle, and Last Name in Excel
Question details
The user needs to separate a string containing a full name from a single cell into individual columns for the first name, middle initial, and last name.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Organizing contact lists or customer data where names are combined in one cell, including complex formats like couples linked by an ampersand.
- Observed behavior
- Names are currently grouped together in single cells (e.g., "Jack A. & Jill B. Smith") and need to be parsed into distinct, separate columns.
Ensure you have empty columns inserted to the right of your name data to prevent the split text from overwriting existing information.
Use Modern Text Functions (TEXTBEFORE and TEXTAFTER)
Ideal for users with Microsoft 365 or newer versions of Excel, offering a clean and simple approach to splitting text.
Modern Excel includes dynamic array and text extraction functions that make it significantly easier to split strings based on space delimiters without nesting multiple FIND and MID functions.
Select the target cell and enter the formula =TEXTBEFORE(A2," ") to extract all text before the first space.
In the next column, enter =IFERROR(TEXTBEFORE(TEXTAFTER(A2," ")," "),""). The IFERROR function ensures the cell remains blank if there is no middle name.
In the final column, enter =TEXTAFTER(A2," ",-1) to extract the text after the very last space in the cell.

Use Legacy Text Functions (LEFT, MID, RIGHT, FIND)
Best for older versions of Excel that do not support modern dynamic array functions.
Handle Dual Names Linked by an Ampersand
Useful when a single cell contains two names, such as "Jack A. & Jill B. Smith".
Easily Split Names and Manage Data with WPS Spreadsheet
WPS Office provides a powerful, free alternative for organizing data. You can easily use modern text functions or the built-in Text to Columns feature to split names seamlessly in WPS Spreadsheet.
- 1. Open Your Document: Launch WPS Spreadsheet and open the file containing your name data.
- 2. Select the Data: Highlight the column containing the full names you want to split.
- 3. Use Text to Columns: Go to the Data tab on the top ribbon and click on 'Text to Columns'.
- 4. Apply the Delimiter: Choose 'Delimited', check the 'Space' option, and finish the wizard to instantly separate the names into adjacent columns.

Frequently Asked Questions
How do I split names with suffixes like Jr. or Sr.?
Formulas splitting by spaces will often treat suffixes as the last name. You will need to filter these out manually or use an IF statement to check for common suffixes and adjust the formula to extract the preceding word as the last name.
Can I use Text to Columns instead of formulas?
Yes, the Text to Columns feature under the Data tab is an excellent built-in tool. Select your data, choose Delimited, and check the Space box to separate names into columns without writing complex formulas.
What if the person only has a first and last name without a middle initial?
Using the modern TEXTBEFORE and TEXTAFTER formulas, the middle name extraction might return an error. Wrapping the middle name formula in an IFERROR function, like =IFERROR(TEXTBEFORE(TEXTAFTER(A2," ")," "),""), ensures it simply returns a blank cell instead.
Is there a way to extract names using regular expressions?
Yes, if you are using the Excel 365 Insider Beta Channel, you can use the new =REGEXEXTRACT(A2,"\w+",1) function to pull out individual words dynamically, though it requires basic knowledge of regex syntax.




