How to remove first (left) or last (right) characters in Excel

When working with unstructured text data in your worksheets, you often need to parse it to retrieve relevant information. This article will teach you a few simple ways to remove any number of characters from the left or right side of a text string.

How to remove characters from left in Excel

Removing first characters from a string is one of the most common tasks in Excel, and it can be accomplished with 3 different formulas.

Remove first character in Excel

To delete the first character from a string, you can use either the REPLACE function or a combination of RIGHT and LEN functions.

REPLACE(string, 1, 1, "")

Here, we simply take 1 character from the first position and replace it with an empty string ("").

RIGHT(string, LEN(string) - 1)

In this formula, we use the LEN function to calculate the total length of the string and subtract 1 character from it. The difference is served to RIGHT, so it extracts that many characters from the end of the string.

For example, to remove the first character from cell A2, the formulas go as follows:

=REPLACE(A2, 1, 1, "")

=RIGHT(A2, LEN(A2) - 1) Removing the first character from a string

Remove characters from left

To remove leading characters from the left side of a string, you also use the REPLACE or RIGHT and LEN functions, but specify how many characters you want to delete every time:

REPLACE(string, 1, num_chars, "")

Or

RIGHT(string, LEN(string) - num_chars)

For instance, to remove first 2 characters from the string in A2, the formulas are:

=REPLACE(A2, 1, 2, "")

=RIGHT(A2, LEN(A2) - 2)

To remove first 3 characters, the formulas take this form:

=REPLACE(A2, 1, 3, "")

=RIGHT(A2, LEN(A2) - 3)

The screenshot below shows the REPLACE formula in action. With RIGHT LEN, the results would be exactly the same. Removing the specified number of characters from left

Custom function to delete first n characters

If you don't mind using VBA in your worksheets, you can create your own user-defined function to delete characters from the beginning of a string, named RemoveFirstChars. The function's code is as simple as this:

Function RemoveFirstChars(str As String, num_chars As Long) RemoveFirstChars = Right(str, Len(str) - num_chars) End Function

Once the code is inserted in your workbook (the detailed instructions are here), you can remove first n characters from a given cell by using this compact and intuitive formula:

RemoveFirstChars(string, num_chars)

For example, to delete the first character from a string in A2, the formula in B2 is:

=RemoveFirstChars(A2, 1)

To strip first two characters from A3, the formula in B3 is:

=RemoveFirstChars(A4, 2)

To delete first three characters from A4, the formula in B4 is:

=RemoveFirstChars(A4, 3) Custom function to remove first characters from a cell

More about Using custom functions in Excel.

To remove characters from the right side of a string, you can also use native functions or create your own one.

Remove last character in Excel

To delete the last character in a cell, the generic formula is:

LEFT(string, LEN(string) - 1)

In this formula, you subtract 1 from the total string length and pass the difference to the LEFT function for it to extract that many characters from the beginning of the string.

For instance, to strip the last character from cell A2, the formula in B2 is:

=LEFT(A2, LEN(A2) - 1) Removing the last character in Excel

Remove characters from right

To strip off a given number of characters from the end of a cell, the generic formula is:

LEFT(string, LEN(string) - num_chars)

The logic is the same as in the above formula, and below are a couple of examples.

To remove the last 3 characters, use 3 for num_chars:

=LEFT(A2, LEN(A2) - 3)

To delete the last 5 characters, supply 5 for num_chars:

=LEFT(A2, LEN(A2) - 5) Removing a specified number of characters from right

Custom function to remove last n characters in Excel

If you'd like to have your own function for removing any number of characters from right, add this VBA code to your workbook:

Function RemoveLastChars(str As String, num_chars As Long) RemoveLastChars = Left(str, Len(str) - num_chars) End Function

The function is named RemoveLastChars and its syntax hardly needs any explanation:

RemoveLastChars(string, num_chars)

To give it a field test, let's get rid of the last character in A2:

=RemoveLastChars(A2, 1)

Additionally, we'll remove the last 2 characters from the right side of the string in A3:

=RemoveLastChars(A3, 2)

To delete the last 3 characters from cell A4, the formula is:

=RemoveLastChars(A4, 3)

As you can see in the below screenshot, our custom function works brilliantly! Deleting the last n characters from string

How to remove characters from right and left at once

In situation when you need to wipe out characters on both sides of a string, you can either run both of the above formulas sequentially or optimize the job with the help of the MID function.

MID(string, left_chars + 1, LEN(string) - (left_chars + right_chars)

Where:

  • chars_left - the number of characters to delete from left.
  • chars_right - the number of characters to delete from right.

Suppose you want to extract the username from a string like mailto:Sophia@gmail.com. For this, part of text needs to be removed from the beginning (mailto: - 7 characters) and from the end (@gmail.com - 11 characters).

Serve the above numbers to the formula:

=MID(A2, 7+1, LEN(A2) - (7+10))

…and the result won't keep you waiting: Remove characters from both sides of a string

To understand what's actually going on here, let's recall the syntax of the MID function, which is used to pull a substring of a certain size from the middle of the original string:

MID(text, start_num, num_chars)

The text argument does not raise any questions - it's the source string (A2 in our case).

To get the position of the first character to extract (start_num), you add 1 to the number of chars to be stripped off from left (7+1).

To determine how many characters to return (num_chars), you calculate the total of removed characters (7 + 11) and subtract the sum from the length of the entire string: LEN(A2) - (7+10)).

Get the result as number

Whichever of the above formulas you use, the output is always text, even when the returned value contains only numbers. To return the result as a number, either wrap the core formula in the VALUE function or perform some math operation that does not affect the result, e.g. multiply by 1 or add 0. This technique is especially useful when you want to calculate the results further.

Suppose you've removed the first character from cells A2:A6 and want to sum the resulting values. Astonishingly, a trivial SUM formula returns zero. Why's that? Obviously, because you are adding up strings, not numbers. Perform one of the below operations, and the issue is fixed!

=VALUE(REPLACE(A2, 1, 1, ""))

=RIGHT(A2, LEN(A2) - 1) * 1

=RemoveFirstChars(A2, 1) + 0 Remove characters and get the result as number

Remove first or last character with Flash Fill

In Excel 2013 and later versions, there is one more easy way to delete the first and last characters in Excel - the Flash Fill feature.

  1. In a cell adjacent to the first cell with the original data, type the desired result omitting the first or last character from the original string, and press Enter.
  2. Start typing the expected value in the next cell. If Excel senses the pattern in the data you are entering, it will follow the same pattern in the rest of the cells and display a preview of your data without the first / last character.
  3. Just hit the Enter key to accept the preview.
Delete first or last character with Flash Fill

Remove characters by position with Ultimate Suite

Traditionally, the users of our Ultimate Suite can handle the task with a few clicks without having to remember a handful of various formulas.

To delete the first or last n characters from a string, this is what you need to do:

  1. On the Ablebits Data tab, in the Text group, click Remove > Remove by Position. Remove characters by position
  2. On the add-in's pane, select the target range, specify how many characters to delete, and hit Remove.

For example, to remove the first character, we configure the following option: Remove the first character from selected cells

That's how to remove a substring from left or right in Excel. I thank you for reading and look forward to seeing you on our blog next week!

Available downloads

Remove first or last characters - examples (.xlsm file)
Ultimate Suite - trial version (.exe file)

36 comments

  1. Hello!

    This has been huge help, but I am still missing something. The data I am trying to extract is not consistently embedded in the cells I am extracting from.

    I want to extract the first date in the following 3 examples. Note - there is a space in front of each line. Also the " No Date" verbiage varies a little bit, it can say - No Date (conf), No Date (act), No Date (est), or No Date (auto).

    Here the the formula I have thus far, which obviously works only for Example 2, because of the " No date" in the 2nd IF statement. I did try to rewrite it several times with Right then MID, but I can't connect the dots.

    =IF(E2="","",IFERROR(IF(LEFT(E2,8)=" No Date","",DATEVALUE(LEFT(E2,11))),IF(LEFT(E2,8)=" No Date","",DATEVALUE(LEFT(E2,10)))))

    Example 1 -
    No Date (ACT)
    6/4/2024
    6/29/2024
    8/7/2024 (conf)

    Example 2 -
    10/30/2023 (conf)
    10/31/2023 (conf)
    11/2/2023 (conf)
    2/5/2024 (conf)
    3/7/2024 (conf)
    4/5/2024 (conf)

    Example 3 -
    No Date (est)
    6/4/2024

    I am hoping this was detailed enough!

    Thanks in advance!

    1. Hello Ashley!
      If I understand your task correctly, try to identify a partial text match. For more information, please read: How to find substring in Excel. The formula might look like this:

      =IFERROR(IF(ISNUMBER(SEARCH("No date",E2)),"", DATEVALUE(LEFT(E2,SEARCH(" ",E2)))),"")

  2. This solved my problem exactly! Thank you!

  3. Thank you so much for the detailed explanations and examples. Made a small registry Key - value divider thanks to your mid function example.

  4. So helpful!

  5. ERS-24N017S0291JH003-2331985 -- This is my string and I want to pick up "24N017S0291JH003"

    1. Hi! For your problem, we can offer several solutions. Look for the example formulas here: Get text between two instances of the same character in Excel.

      =MID(A2, SEARCH("-", A2) +1, SEARCH("-", A2, SEARCH("-",A2) +1) - SEARCH("-", A2) -1)

      With the TEXTSPLIT function, you can split text into individual cells. For example, by using the "-" separator.

      =TEXTSPLIT(A2,"-")

      You can use the CHOOSECOLS function to select a second word:

      =CHOOSECOLS(TEXTSPLIT(A2,"-"),2)

      Our Extract text tool may help you solve it in a few clicks. It allows you to extract substrings, text characters and digits from one Excel cell to another without formulas. It is available as a part of our Ultimate Suite for Excel that you can install in a trial mode and check how it works for free.

  6. If I want to remove the initials (single alphabet) from a name, how can it be done.

    Name Example:
    L Roy
    M David
    K Lynus

    Desired Result:
    Roy
    David
    Lynus

  7. Hi!

    I have a list of couple thousands of products, where I need to pick up/separate the last digits from the cell. There is always the same separator „-„, however it shows up different number of times in the cell.

    Example:
    AA04052-11 (need 11)
    IP-jd1010-20 (need 20)
    Nnwd-io-20201020-9 (need 9)
    1030-5 (need 5)
    192028-thru-2019-5 (need 5)

    I’ve tried using left/right functions combined with LEN, Search and text to columns, but still doing something wrong and getting wrong results…

    I’ll be more than grateful for your help!

    Thanks,
    John

    1. Hi! To extract the text after the last '-' delimiter, use these instructions: Get last word from string. Based on your information, the formula might look something like this:

      =TRIM(RIGHT(SUBSTITUTE(A1, "-", REPT(" ", LEN(A1))), LEN(A1)))

      1. Great thanks!

  8. I have a cloumn with names as follows Last name first name and inital for some names,
    I want to remove from the ones with an initial the initial and the space befor it. How can i get it done,

    PS not evrey one has an inital.

    1. You mean like:

      Matthew L
      Samuel
      Frank K
      Fred

    2. Hi! To ensure clear understanding of your task, can you provide an example of the source data and the desired result you are aiming for?

  9. Hi,
    I have an imported set of numerical data (in columns) taken from an email (which said it was formatted for copy and paste to excel) - I copied and pasted it to a new spreadsheet - some of it pastes as text and some as numbers. I've tried various methods to convert the text to numbers from the simple format commands to copying and pasting as a value.
    I tried the various methods suggested above to remove the 9 additional spaces that appear next to the numbers in each cell (that is formatted as text). Also not working.
    Each time I try a new solution, when identifying the cell using =isvalue(cell) it returns a #NAME? as the answer.
    Please help.

  10. successful!

  11. Thank you this was very helpful and saved me alot of time.

  12. Hi,
    How do i delete all the numbers which ends after the characters.

    X_UcHdfadf_cusPflRjhfjgsTknNr_1266255728672168989_0
    X_adfmcHm_emdghlAdTe_array_LOWER_12323144750471599279_0
    X_adfmcHm_etyphnNr_array_1662712933577636652_0
    X_UdfHm_dghcTknsRgsNr_enlStsCd_recStsTypCd_3394788709178767897_0

  13. Very helpful, appreciate the time taken to write this.
    I am trying solve is text in a cell ends with "--" or "-" then make it ""
    1-2-3-- becomes 1-2-3
    1-2-3- becomes 1-2-3

    I can fix "--" with substitute, but when I try "-" then it becomes 123, i only want to clean the end characters.

  14. Hello i succeeded with the formula but now i want to remove the old column and keep only the new one but everytime i do it removes the values of the new one too like theyre linked?

  15. Hello

    I linked a cell "SHEET1'! A2" on sheet 2.
    Could I link another cell (ex: "SHEET1'! A32") on sheet 2 using above linked cell reference by formula.

    Thanks

  16. Hi i am trying to delete the time in all my cells and keep only the date (22/06/2015 18:13:00) as it is disrupting my pivot table, how could i delete the time in all the cells?

  17. how do i tell excell to remove all digits from the left when the number is more than 11 digits? for example N456789002234, it would remove the N4. Also, to add preceeding zeros to make the number 11 digits.

    I need it to do this to a column in my excell sheet

    Thank you

  18. Please can any1 help me
    i have 2 different number formatting 1.970.00 and € 1,970.00
    how can i replace 1.970.00 first (1.9) point to coma ( , ) ?
    advanced thanks

    1. Thank you!

  19. Thank you for the tutorial, it really helped me a lot.

  20. Formula work with ; and not with , in Office 365

    1. Hi Hrvoje,

      That depends on the List separator set in your Windows Regional settings. In the USA, UK and some other English-speaking countries, it's a comma. In most European countries, the default list separator is a semicolon because a comma is used as the decimal point.

Post a comment



Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)