Function Problems

How to Separate First and Last Names in Excel Without VBA

Chanuka GeekiyanageChanuka Geekiyanage Nov 10, 2026 868 views

Question details

The user needs to split a list of full names into distinct first/middle names and surnames, specifically handling variable name lengths (e.g., two-word first names) without using VBA.

How to Separate First and Last Names in Excel Without VBA
Product
Excel
Device & OS
not provided
Scenario
Organizing a list of contacts where full names are in a single column and need to be divided for sorting or database entry.
Observed behavior
Full names are combined in one cell, with varying numbers of spaces, requiring a dynamic method to accurately extract the final word as the surname.
Before you start

Ensure your data is organized in a single column without leading or trailing spaces. If your list contains suffixes like 'Jr.' or 'Sr.', you may need to handle or clean those manually before applying these extraction methods.

Solution 1Recommended

Use TEXTBEFORE and TEXTAFTER Functions

Extract the given name and surname by locating the last space in the text string.

This method is highly reliable for names with varying word counts. By searching for the space character starting from the end of the string (using the -1 argument), the formula accurately isolates the last word as the surname, regardless of how many first or middle names are present.

1
Select target cell for the given name

Click on the empty cell where you want the given name (first and middle names) to appear.

2
Enter the TEXTBEFORE formula

Type the formula =TEXTBEFORE(A2, " ", -1) and press Enter. Replace 'A2' with the reference to the cell containing your first full name.

3
Enter the TEXTAFTER formula

In the adjacent cell for the surname, type the formula =TEXTAFTER(A2, " ", -1) and press Enter.

4
Apply formulas to the entire list

Select both formula cells, click and hold the fill handle at the bottom-right corner of the selection, and drag it down the column to apply the extraction to your entire list.

Use TEXTBEFORE and TEXTAFTER Functions
Dynamic Updates: These formulas automatically update if the original full name is modified and correctly handle hyphenated last names without any additional steps.
Advanced Data Management

Effortlessly Manage and Split Data with WPS Spreadsheet

WPS Spreadsheet provides powerful built-in text functions and intuitive tools like Flash Fill to easily manipulate text and separate complex names without writing a single line of VBA code.

  1. 1. Open your data file: Launch WPS Spreadsheet and open the document containing the names you want to split.
  2. 2. Select your destination cells: Click on the empty cells right next to your combined name data.
  3. 3. Apply text functions or shortcuts: Type your desired extraction formula (e.g., =TEXTAFTER(A2, " ", -1)) or use the Flash Fill shortcut (Ctrl + E) after typing the first example.
  4. 4. Populate the column: Press Enter and drag the fill handle down to instantly separate the names across your entire data set.
Fully compatible with Microsoft Excel formulas and formats (.xlsx).Includes advanced text manipulation functions like TEXTBEFORE and TEXTAFTER.Smart Flash Fill feature instantly recognizes data patterns.Free, lightweight, and works seamlessly across Windows, Mac, and Linux.
microsoft office alternative - wps office

Frequently Asked Questions

What if my data has multiple accidental spaces between names?

You can nest the TRIM function inside your text splitting formulas to remove extra spaces before extracting the names. For example, use =TEXTBEFORE(TRIM(A2), " ", -1) to ensure clean extraction.

Why doesn't Flash Fill extract all my names correctly?

Flash Fill relies on pattern recognition. If your list has highly inconsistent naming conventions (like a mix of middle initials, suffixes like 'Jr.', and single names), Flash Fill might guess the pattern incorrectly. In these cases, using formulas is much more reliable.

Can I use the Text to Columns feature instead?

Yes, Text to Columns is available under the Data tab. However, it splits text at every single space. If someone has a two-word first name or a middle name, it will separate them into multiple columns, requiring significant manual cleanup afterward.

Will TEXTBEFORE and TEXTAFTER work in older spreadsheet versions?

TEXTBEFORE and TEXTAFTER are relatively modern functions. If you are using an older spreadsheet version that doesn't support them, you will need to use a combination of RIGHT, LEFT, LEN, and FIND functions to achieve the exact same dynamic extraction.