In this article, you will learn a few methods to swap columns in Excel. You will see how to drag columns with a mouse and how to move a few non-contiguous columns at a time. The latter is often considered unfeasible, but in fact there's a tool that allows moving non-adjacent columns in Excel 2016, 2013 and 2010 in a click.
If you extensively use Excel tables in your daily work, you know that whatever logical and well thought-out a table's structure is, you have to reorder the columns every now and then. For example, you might need to swap a couple of columns to view their data side-by-side. Of course, you can try to hide the neighboring columns for a while, however this is not always the best approach because you may need to see data in those columns as well.
Surprisingly, Microsoft Excel does not provide a straightforward way to perform this common operation. If you try to simply drag a column name, which appears to be the most obvious way to move columns, you might be confused to find that it does not work.
All in all, there are four possible ways to switch columns in Excel, namely:
As already mentioned, dragging columns in Excel is a bit more complex procedure than one could expect. In fact, it's one of those cases that can be classified as "easier said than done". But maybe it's just my lack of sleight of hand ability :) Nevertheless, with some practice, I was able to get it to work, so you will definitely manage it too.
Suppose, you have a worksheet with information about your company's products and you want to quickly swap a couple of columns there. I will use the AbleBits price list for this example. What I want is to switch the "License type" and "Product ID" columns so that a product ID comes right after the product name.
You can use the same technique to drag several columns in your Excel table. To select several columns, click the heading of the first column you need to move, press and hold Shift, and then click the heading of the last column. Then follow steps 2 - 4 above to move the columns, as shown in the screenshot.
Note. It is not possible to drag non-adjacent columns and rows in Excel.
The drag and drop method works in Microsoft Excel 2016, 2013, 2010 and 2007 and can be used for moving rows as well. It might require some practice, but once mastered it could be a real time saver. Though, I guess the Microsoft Excel team will hardly ever win an award for the most user friendly interface on this feature :)
If manipulating the mouse pointer is not your technique of choice, then you can change the columns order by cutting and pasting them. Please keep in mind that there're a few tricks here depending on whether you want to move a single column or several columns at a time:
If you are more comfortable with Excel shortcuts and keyboard, then you may like the following way to move columns in Excel:
The cut / paste method that works just fine for a single column does not allow switching several columns at a time. If you try to do this, you will end up with the following error: The command you chose cannot be performed with multiple selections.
To reorder a few columns in your worksheet, choose one of the following options:
If dragging columns with a mouse does not work for you for some reason, then you can try to re-arrange several columns in your Excel table is this way:
An alternative way is to select only the headings of the columns to be moved and then press Ctrl + Space. This will select only cells with data rather than entire columns, as shown in the screenshot below.
Note. If you are re-arranging columns in a range, either way will do. If you are to swap a few columns in an Excel table, then select the columns using the second way (cells with data only), otherwise you may get the error "The operation is not allowed. The operation is attempting to shift cells in a table of your worksheet".
Of course, this is a bit longer process compared to dragging columns, but it may work for those who prefer shortcuts to fiddling with the mouse. Regrettably, it does not work for non-contingent columns either.
If you have some knowledge of VBA, you can try to write a macro that would automate moving columns in your Excel sheets. This is in theory. In practice, most likely you would end up spending more time on specifying which exactly columns to swap and defining their new placements than dragging the columns manually. Besides, there is no guarantee that the macro will always work as expected and each time you would need to verify the result anyways. All in all, a VBA macro does not seem to be well-suited for this task.
If you are looking for a fast and reliable tool to switch columns in your Excel sheets, the Column Manager included with our Ultimate Suite is certainly worth your attention. It lets you change the order of columns on the fly, without manual copying / pasting or learning a handful of shortcuts.
With the Ultimate Suite installed in your Excel, click the Colum Manager button on the Ablebits Data tab, in the Manage group:
The Column Manager's pane will appear in the right side of the Excel window and displays a list of columns that are present in your active worksheet.
To move one or more columns, select them on the pane and click the Up or Down arrow on the toolbar. The former moves the selected columns to the left in your sheet, the latter to the right:
Or, drag-and-drop the columns on the pane with your mouse. Both methods work for adjacent and non-adjacent columns:
All the manipulations that you do on the Colum Manager pane are simultaneously performed on your worksheet, which lets you visually see all the changes and have full control over the process.
Another truly wonderful feature is the ability to move a single column or multiple columns to the beginning (far left) or to the end (far right) of the table in a click:
And finally, a couple of nice bonuses:
- Click this icon to auto fit the width of the selected columns.
- Click this icon to insert a new column.
I have to admit that I really love this little smart add-in. Together with the other 70+ tools included in the Ultimate Suite, it makes common operations in Excel not only faster and easier, but actually enjoyable. Of course, you should not take my words for granted because I've got used to them and therefore am sort of biased :)
So, go ahead and download a trial version to see for yourself.
Table of contents