by Allen Wyatt
(last updated February 7, 2015)
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.
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 formatting the layout of your worksheet, Excel allows you to easily merge adjacent cells together. This can cause ...Discover More
When you sort data that contains both numbers and text, you may not get exactly the result that you expected. To know ...Discover More
When you sort information, Excel follows a set pattern of how your data is organized. This tip illuminates the burning ...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.