Let's say that you have a worksheet in which a particular column, for instance column C, contains entries such as F1, F2, F3, etc., all the way up to F149. If you need to sort the data in the worksheet based on the contents of this column, the results may disappoint you. Because the first character in each cell is a letter, Excel sorts the column as text.
The upshot is that the cells are sorted in the order F1, F10, F100, F101, F102, etc. In this arrangement, F2 doesn't show up until the sixty-second entry in the sorted list. The reason this happens is because the cells are treated as text. As text, all the cells starting with F1 (there are 61 of them) come before the cells starting with F2.
The only way around this situation is to make sure that the numbers in the cells are front padded with zeros. In other words, you shouldn't use F1, but F001. You can use the following formula to convert the old format numbers to the new format (this formula assumes the data you are sorting begins in cell C1):
=LEFT(C1,1) & RIGHT("000" & RIGHT(C1,LEN(C1)-1),3)
Now, when you sort by the newly formatted entries, you get the desired results: F001, F002, F003, etc.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (9600) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Office 365. You can find a version of this tip for the older menu interface of Excel here: Sorting Letters and Numbers.
Solve Real Business Problems Master business modeling and analysis techniques with Excel and transform data into bottom-line results. This hands-on, scenario-focused guide shows you how to use the latest Excel tools to integrate data from multiple tables. Check out Microsoft Excel 2013 Data Analysis and Business Modeling today!
When you sort data in a worksheet, there are a couple ways you can do it. Using the simple way can result in ...
Discover MoreInformation in a cell can be entered using line feeds, which results in multiple lines of data in the same cell. If you ...
Discover MoreNeed 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 MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2019-06-16 09:58:58
How about a simple macro? No padding.
Data in Col A, Col B no data
=========================================
Sub SortWithFirstLetter()
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
FirstLetter = Left(Cells(1, 1), 1)
For i = 1 To LastRow
Cells(i, 2) = Mid(Cells(i, 1), 2)
Next
Range("B1:B" & LastRow).Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlNo
For i = 1 To LastRow
Cells(i, 1) = FirstLetter & Cells(i, 2)
Next
Columns("B:B").Select
Selection.ClearContents
End Sub
2019-06-16 08:33:56
Stephen Argent
Hi Allen,
There's another way around that particular problem:
Format the cells using the number format "F"0
That way you can enter the the numbers as numbers and the formatting will add the letter "F" in front, but Excel will still recognise them as numbers.
Best,
Stephen
2019-06-15 13:25:44
Willy Vanhaelen
This is a shorter formula:
=LEFT(C1,1)&RIGHT(1000+MID(C1,2,3),3)
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.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2022 Sharon Parq Associates, Inc.
Comments