Function Problems

Split Full Names into First, Middle, and Last Name in Excel

Jason MillerJason Miller Nov 10, 2026 869 views

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.

How to Split Full Names into First, Middle, and Last Names in Excel
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.
Before you start

Ensure you have empty columns inserted to the right of your name data to prevent the split text from overwriting existing information.

Solution 1Recommended

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.

1
Extract the First Name

Select the target cell and enter the formula =TEXTBEFORE(A2," ") to extract all text before the first space.

2
Extract the Middle Initial

In the next column, enter =IFERROR(TEXTBEFORE(TEXTAFTER(A2," ")," "),""). The IFERROR function ensures the cell remains blank if there is no middle name.

3
Extract the Last Name

In the final column, enter =TEXTAFTER(A2," ",-1) to extract the text after the very last space in the cell.

Use Modern Text Functions (TEXTBEFORE and TEXTAFTER)
Complex Names: Review names with suffixes (like Jr. or III), compound surnames, or missing middle initials manually, as these space-based formulas may miscategorize them.
Advanced Spreadsheet Tool

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. 1. Open Your Document: Launch WPS Spreadsheet and open the file containing your name data.
  2. 2. Select the Data: Highlight the column containing the full names you want to split.
  3. 3. Use Text to Columns: Go to the Data tab on the top ribbon and click on 'Text to Columns'.
  4. 4. Apply the Delimiter: Choose 'Delimited', check the 'Space' option, and finish the wizard to instantly separate the names into adjacent columns.
Fully compatible with Microsoft Excel formulas and functionsBuilt-in Text to Columns wizard for easy data splittingFree and lightweight suite for PC and mobileSupports complex data sorting and filtering
microsoft office alternative - wps office

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.