Skip to content
Free Excel Tutorials
  • Home
  • Excel For Beginners
  • Excel Intermediate
  • Advanced Excel For Experts

Data Analysis

  • Remove Duplicates Example in Excel
  • How to count table rows in Excel
  • How to Create Thermometer Chart in Excel
  • Managing Conditional Formatting Rules in Excel
  • Conditional Formatting Icon Sets Examples in Excel

References

  • How to use Excel MATCH Function
  • How to get relative row numbers in a range in Excel
  • How to create dynamic named range with OFFSET in Excel
  • Count unique text values with criteria
  • How to get last row in text data in Excel

Data Validations

  • Excel Data validation date in specific year
  • Excel Data validation exists in list
  • Excel Data validation no punctuation
  • Excel Data validation with conditional list
  • Excel Data validation whole percentage only

Extract last name from full name — Manipulating NAMES in Excel

by

If you need extract the last name from a full name, you can do so with this rather complex formula that uses several functions.

Note: In the  formula below, name is a full name, with a space separating the first name from other parts of the name.

Formula

=RIGHT(name,LEN(name)-FIND("*",SUBSTITUTE(name," ","*",
LEN(name)-LEN(SUBSTITUTE(name," ","")))))
Extract last name from full name -- Manipulating NAMES in Excel

Important!

Handling inconsistent spaces

Extra spaces will cause problems with this formula. One solution is to use the TRIM function first to clean things up, then use the parsing formula.

Explanation

In the example, the active cell contains this formula:

=RIGHT(B4,LEN(B4)-FIND("*",SUBSTITUTE(B4," ","*",LEN(B4)-LEN(SUBSTITUTE(B4," ","")))))

How this formula works

At the core, this formula uses the RIGHT function to extract characters starting from the right. The other functions which make up the complex part of this formula just do one thing: they calculate how many characters need to be extracted.

At a high level, the formula replaces the last space in the name with an asterisk “*” and then uses FIND to determine the position of the asterisk in the name. The position is used to work out how many characters to extract with RIGHT.

How does the function replace only the last space? This is the clever part.

Buckle up, the explanation gets a bit technical.

They key to this formula is this bit:

SUBSTITUTE(B4," ","*",LEN(B4)-LEN(SUBSTITUTE(B4," ","")))

Which does the actual replacement of the last space with “*”.

SUBSTITUTE has a forth (optional) argument that specifies which “instance” of the find text should be replaced. If nothing is supplied for this argument, all instances are replaced. However, if, say the number 2 is supplied, only the second instance is replaced. In the snippet above, instance is calculated using the second SUBSTITUTE:

LEN(B4)-LEN(SUBSTITUTE(B4," ",""))

Here, the length of the name without any spaces is subtracted from the actual length of the name. If there’s only one space in the name, it produces 1. If there are two spaces, it the result is 2, and so on.

In the example name in B4, there are two spaces in the name, so we get:

15 – 13 = 2

And two is used as in the instance number:

SUBSTITUTE(B4," ","*",2)

which replaces the second space with “*”. The name then looks like this:

“Susan Ann*Chang”

The FIND function then takes over to figure out where the “*” is in the name:

FIND("*", "Susan Ann*Chang")

The result is 10 (the * is in the 10th position) which is subtracted from the total length of the name:

LEN(B4)-10

Since the name is 15 characters, we have:

15-10 = 5

The number 5 is used by RIGHT like so:

=RIGHT(B4,5)

Which results in “Chang”

As, you can see, it’s a lot of work above to calculate that simple 5!

Post navigation

Next Post:

Create One-dimensional and Two-dimensional Array

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Learn Basic Excel

Ribbon
Workbook
Worksheets
Format Cells
Find & Select
Sort & Filter
Templates
Print
Share
Protect
Keyboard Shortcuts

Categories

  • Charts
  • Data Analysis
  • Data Validation
  • Excel Functions
    • Cube Functions
    • Database Functions
    • Date and Time Functions
    • Engineering Functions
    • Financial Functions
    • Information Functions
    • Logical Functions
    • Lookup and Reference Functions
    • Math and Trig Functions
    • Statistical Functions
    • Text Functions
    • Web Functions
  • Excel VBA
  • Excel Video Tutorials
  • Formatting
  • Grouping
  • Others

Logical Functions

  • IF with boolean logic in Excel
  • How to use Excel AND Function
  • How to return blank in place of #DIV/0! error in Excel
  • IFERROR function: Description, Usage, Syntax, Examples and Explanation
  • Extract multiple matches into separate rows in Excel

Date Time

  • Calculate date overlap in days in Excel
  • Add workdays no weekends in Excel
  • Calculate time difference in hours as decimal value in Excel
  • Get days, months, and years between dates in Excel
  • Convert Unix time stamp to Excel date

Grouping

  • Group times into 3 hour buckets in Excel
  • Map inputs to arbitrary values in Excel
  • Group numbers at uneven intervals in Excel
  • Categorize text with keywords in Excel
  • Map text to numbers in Excel

General

  • Convert column letter to number in Excel
  • Advanced Number Formats in Excel
  • With vs Without Array Formula in Excel
  • Automatically fill series of cells in Excel using AutoFill
  • Basic numeric sort formula in Excel
© 2026 xlsoffice . All Right Reserved. | Teal Smiles | Abbreviations And Their Meaning