by Allen Wyatt
(last updated August 14, 2019)
Excel includes a sorting feature that allows you to easily sort a data list by up to three columns. If you have a large or complex data list, you may want to sort by more than three columns, however. There are several ways you can accomplish this.
Assuming you have five columns you want sorted by, the first method is to just do two passes at sorting. If you want to sort the data in the order of columns A, B, C, D, and E, you would perform the first sort using columns C, D, and E. Once these are in order, sort by columns A and B. The result is that your entire data list is in order.
Closely related to this is the fact that you can use the sort tools on the toolbar to sort your five columns. First, choose a cell in column E, then click on either the Sort Ascending or Sort Descending tool. Repeat this process by selecting a cell in each of the other columns (D, C, B, and A), in turn, and clicking on the appropriate tool. At the end of this iterative process (which takes only five quick clicks of the sorting tools), your entire list is in the order you desire.
There is an important things to keep in mind when sorting as described here: The character of your list data can affect the quality of the sort performed. If your data contains empty cells, error values, or numbers formatted as text, then Excel may not sort the data in the method you expect. The solution is to "normalize" your data—for instance, making sure that numbers are really numbers and not numbers formatted as text—and then do the sort again.
Another solution is to create a "sorting column" for your data. This approach works great if your data is all text, or if you can easily convert it into a text-based format for the sorting. Under this scenario, you would combine the contents of columns A through E into column F, and then sort by a single column: F. You could use this type of formula in column F:
=A1 & B1 & C1 & D1 & E1
If one of the columns contains a date, you will need to convert the date to a consistent text format, as done with this formula:
=A1 & B1 & C1 & TEXT(D1,"yyyymmdd") & E1
If one of the columns contains numeric values, you can normalize them by using a similar TEXT function construct that pads the value with leading zeroes:
=A1 & TEXT(B1,"000000") & C1 & D1 & E1
If you do quite a bit of sorting, and you don't want to use Excel's built-in sorting routines, then you should investigate third-party sorting functions. Sorting algorithms are a fascinating branch of mathematics, and some very popular algorithms (such as shell sort, exchange sort, bubble sort, etc.) can be implemented through Excel functions. How those functions would be used on your system depends on the way they were implemented by their developer.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2255) applies to Microsoft Excel 97, 2000, 2002, and 2003.
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!
Sort your data and you may be surprised at what Excel does to your formatting. (Some formatting may be moved in the sort ...Discover More
Want to ignore some characters at the beginning of each cell when sorting? The easiest way is to simply create other ...Discover More
Need to sort all the data in a table? Here's the fastest and easiest way to do it.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 menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.