In Excel: select the column and use Data ▸ Text to Columns ▸ Delimited ▸ Space — or in Microsoft 365, =TEXTBEFORE(A2," ") for the first name and =TEXTAFTER(A2," ",-1) for the last.
On this page7
"Last, First" order is detected automatically, and particles like van or de stay with the surname.
| First | Middle | Last |
|---|---|---|
| Ada | Byron | Lovelace |
| Grace | Hopper | |
| Martin | Luther | King |
| Ludwig | van Beethoven |
What this does
Names are the hardest thing to split on a delimiter, because the delimiter count varies: "Ada Lovelace" has one space, "Ada King Lovelace" has two, "van der Berg" has particles that belong to the surname, and "Lovelace, Ada" is reversed. Text to Columns splits on every space blindly, which puts middle names in the wrong column. The robust approach takes the first token from the left and the last from the right, letting anything between fall into a middle column: TEXTBEFORE/TEXTAFTER in Microsoft 365, or LEFT/FIND and RIGHT/LEN/SUBSTITUTE in older versions. Flash Fill (Ctrl+E) handles a consistent list in one keystroke and should be checked, not trusted. The same idea underpins a lot of everyday Excel work, so the few minutes spent getting it right here pay back across every sheet you build afterwards. Treat it as a pattern, not a one-off, and it stops being something you look up and starts being something you reach for. For “separate first name and surname in excel”, the reliable version is a short checking loop, not just the first command that appears to work. Run it on a deliberately small range first, watch how the affected cells change, and only then apply the same setup to the full sheet. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. That is what makes a text operation that turns messy entries into clean, usable data useful in real work: repeatable, auditable, and not dependent on memory or luck.
A worked example
A2 holds "Ada King Lovelace". First name: =TEXTBEFORE(A2," ") returns Ada. Last name: =TEXTAFTER(A2," ",-1) — the -1 means the LAST space — returns Lovelace. Middle: =TRIM(SUBSTITUTE(SUBSTITUTE(A2,B2,""),D2,"")) returns King. In Excel 2019 and earlier: first name =LEFT(A2,FIND(" ",A2)-1); last name =TRIM(RIGHT(SUBSTITUTE(A2," ",REPT(" ",99)),99)). For "Lovelace, Ada" swap the order: last =TEXTBEFORE(A2,","), first =TRIM(TEXTAFTER(A2,",")). Contact exports, sign-up lists and CRM dumps all arrive with one name column, and mail merges, sorting by surname and de-duplication all need it split — correctly enough that "van der Berg" survives. One habit worth forming early: name the cells that hold your inputs, so the formula reads in plain language instead of a string of cell addresses. A reviewer — or you in three months — can then follow the logic without decoding what B7 and D2 were supposed to mean, which is most of what makes a sheet maintainable.
In Google Sheets
Some functions on this page are newer additions to Excel: they are in current Microsoft 365 and Excel for the web, while older perpetual Excel versions return #NAME?. Google Sheets maintains its own function list, so confirm each function exists there before relying on the same formula. The aim was to get you unstuck fast and leave you a little more capable than a copy-paste would. The answer is at the top, the tool proves it, and the detail above shows why it holds — so the next time a colleague asks, you can answer without reaching for search. Treat “separate first name and surname in excel” as a small building block rather than a chore. Once the inputs sit in their own cells and the formula reads from them, the same setup answers a dozen related questions with a tweak, and Excel keeps every dependent figure current as the data changes. The tool above is there so you can rehearse and verify before committing anything to a real workbook; the steps and worked example are there so the logic sticks. Get it right once and it stops costing you time — it starts saving it, every time the question comes back around.
Common mistakes
- Using Text to Columns on a list containing middle names, which shifts the surname into a third column for some rows only.
- Deleting the source column while the split columns are still formulas pointing at it.
- Trusting Flash Fill without checking — it infers from the first rows and silently mishandles the exceptions.
- Splitting "Last, First" data with a space rule, which puts the comma on the surname.
- Assuming every row has a last name; single-word entries break
RIGHT-based formulas without anIFguard.
Frequently asked questions
How do I separate first and last name in Excel?
Data ▸ Text to Columns ▸ Delimited ▸ Space for simple two-part names. For anything with middle names, use =TEXTBEFORE(A2," ") and =TEXTAFTER(A2," ",-1) in Microsoft 365.
What if some names have a middle name?
Take the first token from the left and the last from the right, and let everything between fall into a middle column. Splitting on every space is what puts surnames in the wrong place.
How do I handle "Lastname, Firstname"?
Split on the comma instead: =TEXTBEFORE(A2,",") is the surname and =TRIM(TEXTAFTER(A2,",")) is the first name.
Does Flash Fill work for names?
Often, with Ctrl+E after typing one example. It infers a pattern from the first rows, so check the exceptions — particles like "van der" and hyphenated surnames are where it goes wrong.
Other ways people ask this
This is also commonly searched as “how to separate name and surname in excel”, “how to divide name and surname in excel” and “how to separate name surname in excel”. They describe the identical operation, so you are in the right place no matter how you phrased it.
Why do people search for this in so many different ways?
Because the same task has many names. “how to separate name and surname in excel”, “how to divide name and surname in excel”, “how to separate name surname in excel” all point at the one operation explained on this page, which is why they all lead here.