Mar 19, 2018 - To get started, let's see how names are usually stored in a Excel. That will give us everything to the right of the first space or comma.
In the last few articles, we've discussed different Text functions - those that are used to manipulate text strings. Today our focus is on the RIGHT function, which is designed to return a specified number of characters from the rightmost side of a string.
Like other Excel Text functions, RIGHT is very simple and straightforward, nevertheless it has a few unobvious uses that might prove helpful in your work. Excel RIGHT function syntax The RIGHT function in Excel returns the specified number of characters from the end of a text string. The syntax of the RIGHT function is as follows. RIGHT(text, numchars) Where:. Text (required) - the text string from which you want to extract characters.
Numchars (optional) - the number of characters to extract, starting from the rightmost character. If numchars is omitted, 1 last character of the string is returned (default). If numchars is greater than the total number of characters in the string, all characters are returned. If numchars is a negative number, a Right formula returns the #VALUE! For example, to extract the last 3 characters from the string in cell A2, use this formula: =RIGHT(A2, 3) The result might look something similar to this. Important note! The Excel RIGHT function always returns a text string, even if the original value is a number.
To force a Right formula to output a number, use it in combination with the VALUE function as demonstrated in. How to use RIGHT function in Excel - formula examples In real-life worksheets, the Excel RIGHT function is rarely used on its own.
In most cases, you will be using it together with other Excel functions as part of more complex formulas. How to get a substring that comes after a certain character In case you want to extract a substring that follows a specific character, use either or function to determine the position of that character, subtract the position from the total string length returned by the function, and pull that many characters from the rightmost side of the original string. RIGHT( string, LEN( string) - SEARCH( character, string)) Let's say, cell A2 contains the first and last name separated by a space, and you aim to pull the last name to another cell. Just take the generic formula above and you put A2 in place of string, and ' ' (space) in pace of character: =RIGHT(A2,LEN(A2)-SEARCH(' ',A2)) The formula will yield the following result: In a similar manner, you can get a substring that follows any other character, e.g.
A comma, semicolon, hyphen, etc. For example, to extract a substring that comes after a hyphen, use this formula: =RIGHT(A2,LEN(A2)-SEARCH('-',A2)) The result will look similar to this: How to extract a substring after the last occurrence of the delimiter When dealing with complex strings that contain several occurrences of the same delimiter, you may often need to retrieve the text to the right of the last delimiter occurrence. To make things easier to understand, have a look at the following source data and desired result: As you can see in the screenshot above, Column A contains a list of errors. Your goal is to pull the error description that comes after the last colon in each string. An additional complication is that the original strings may contain different numbers of delimiter instances, e.g. A3 contains 3 colons while A5 just one.
The key to finding a solution is determine the position of the last delimiter in the source string (the last occurrence of a colon in this example). To do this, you will need to use a handful of different functions:. Get the number of delimiters in the original string. It's an easy part:.
Firstly, you calculate the total length of the string using the LEN function: LEN(A2). Secondly, you compute the length of the string without delimiters by using the function that replaces all occurrences of a colon with nothing: LEN(SUBSTITUTE(A2,':',')). Finally, you subtract the length of the original string without delimiters from the total string length: LEN(A2)-LEN(SUBSTITUTE(A2,':',')) To make sure the formula works right, you can enter it in a separate cell, and the result will be 2, which is the number of colons in cell A2. Replace the last delimiter with some unique character. In order to extract the text that comes after the last delimiter in the string, we need to 'mark' that final occurrence of the delimiter in some way.
For this, let's replace the last occurrence of a colon with a character that does not appear anywhere in the original strings, for example with a pound sign (#). If you are familiar with the syntax of the Excel SUBSTITUTE function, you may remember that it has the 4 th optional argument (instancenum) that allows replacing only a specific occurrence of the specified character. And since we have already calculated the number of delimiters in the string, simply supply the above function in the fourth argument of another SUBSTITUTE function: =SUBSTITUTE(A2,':','#',LEN(A2)-LEN(SUBSTITUTE(A2,':','))) If you put this formula in a separate cell, it would return this string: ERROR:432#Connection timed out. Get the position of the last delimiter in the string. Depending on what character you replaced the last delimiter with, use either case-insensitive SEARCH or case-sensitive FIND to determine the position of that character in the string.
We replaced the last colon with the # sign, so we use the following formula to find out its position: =SEARCH('#', SUBSTITUTE(A2,':','#',LEN(A2)-LEN(SUBSTITUTE(A2,':',')))) In this example, the formula returns 10, which is the position of # in the replaced string. Return a substring to the right of the last delimiter. RIGHT( string, LEN( string)- numberofcharstoremove) In this example, we remove the first 6 characters (5 letters and a colon) from the text string in A2, so our formula goes as follows: =RIGHT(A2, LEN(A2)-6) Can the Excel RIGHT function return a number?
As mentioned in the beginning of this tutorial, the RIGHT function in Excel always returns a text string even if the original value is a number. But what if you work with a numeric dataset and want the output to be numeric too? An easy workaround is nesting a Right formula in the VALUE function, which is specially designed to convert a string representing a number to a number. For example, to pull the last 5 characters (zip code) from the string in A2 and convert the extracted characters to a number, use this formula: =VALUE(RIGHT(A2, 5)) The screenshot below shows the result - please notice the right-aligning numbers in column B, as opposed to left-aligned text strings in column A: Why doesn't the RIGHT function work with dates?
Since the Excel RIGHT function is designed to work with text strings whereas in the internal Excel system, a Right formula is unable to retrieve an individual part of a date such as a day, month or year. If you attempt to do this, all you will get is a few last digits of the number representing a date. Supposing, you have the date 18-Jan-2017 in cell A1. If you try to extract the year with the formula RIGHT(A1,4), the result would be 2753, which is the last 4 digits of number 42753 that represents January 18, 2017 in the Excel system. 'So, how do I retrieve a certain part of a date?' , you may ask me.