by Allen Wyatt
(last updated February 12, 2020)
Howard has a list of numbers, sometimes 6 digits, sometimes 8 digits, but the length is irrelevant as he needs to sort by the last 2 digits and then by the previous 2 digits. He tried right/middle/left types of formulas, but with having varying numbers of digits he could not make it work.
Before discussing approaches, it is important to make a few explicit assumptions about Howard's data. In this tip I'll assume that the data is in column A and that it consists of at least 4 digits. (Howard mentions lengths of 6 and 8 digits, so this shouldn't be a false assumption.) It is also assumed that the only thing in column A are values made up of digits—it doesn't contain other characters that you want ignored in your sorting.
If you wanted to use two helper columns to extract the sorting digits, then you could use the following in column B:
The formula grabs the two right-most digits from whatever is in column A. The following could then be placed into column C:
This formula looks at the length of whatever is in A1 and uses that value as a parameter for the MID function to extract the two digits that precede the final two digits in the value.
It is important to realize that these formulas return text values, regardless of whether the values in column A are numeric or text. This is handy when either of the extracted values begin with 0; it means that instead of "5" being returned you'll see "05" or "00" instead of "0". If you want to make sure that numeric values are returned, then you'll need to wrap each formula in the VALUE function:
=VALUE(RIGHT(A1,2)) =VALUE(MID(A1, LEN(A1)-3,2))
With your "key values" in columns B and C you could then perform your sort based on those values. You could also, if desired, use only a single helper column with either of these formulas in column B:
=RIGHT(A1,2)&MID(A1, LEN(A1)-3,2) =RIGHT(A1,2)&LEFT(RIGHT(A1,4),2)
Again, these return text strings (which are just fine for sorting), but you could convert them to numeric values by wrapping them in the VALUE function:
=VALUE(RIGHT(A1,2)&MID(A1, LEN(A1)-3,2)) =VALUE(RIGHT(A1,2)&LEFT(RIGHT(A1,4),2))
Regardless of whether you work with extracted text or a numeric value in column B, you can now sort based on the column contents.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (10905) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Office 365.
Excel Smarts for Beginners! Featuring the friendly and trusted For Dummies style, this popular guide shows beginners how to get up and running with Excel while also helping more experienced users get comfortable with the newest features. Check out Excel 2013 For Dummies today!
Need to sort your data based on the color of the cell or the color of the text within the cell? Excel makes it easy to do ...Discover More
Click the Sort tool in Excel, and you may be surprised that the data in your worksheet is jumbled. In order to sort ...Discover More
When entering information into a worksheet, you may want it to always be in a correctly sorted order. Excel allows you to ...Discover More
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.