How to swap columns by dragging and other ways to move columns in Excel

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:

How to drag columns in Excel

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.
A worksheet where you need to swap a couple of columns.

  1. Select the column you want to move.
  2. Put the mouse pointer to the edge of the selection until it changes from a regular cross to a 4-sided arrow cursor. You'd better not do this anywhere around the column heading because the cursor can have too many different shapes in that area. But it works just fine on the right or left edge of the selected column, as shown in the screenshot.
    Move the mouse pointer to the edge of the selection until it changes from a regular cross to a 4-sided arrow cursor.
  3. Press and hold the Shift key, and then drag the column to a new location. You will see a faint "I" bar along the entire length of the column and a box indicating where the new column will be moved.
    Press and hold down the Shift key and drag the column to a new location.
  4. That's it! Release the mouse button, then leave the Shift key and find the column moved to a new position.

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.
Drag several columns in Excel using the mouse.

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 :)

Swap Excel columns by cutting and pasting

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:

How to move one column in Excel

  1. Select the entire column by clicking on the column header.
  2. Cut the selected column by pressing Ctlr + X, or right click the column and choose Cut from the context menu. You can actually skip step 1 and simply right click the column's heading to choose Cut.
  3. Select the column before which you want to insert the cut column, right click it and choose Insert Cut Cells from the pop-up menu.
    Select the column before which you want to insert the cut column and choose Insert Cut Cells from the pop-up menu.

If you are more comfortable with Excel shortcuts and keyboard, then you may like the following way to move columns in Excel:

  • Select any cell in the column and press Ctrl + Space to select the whole column.
  • Hit Ctrl + X to cut the column.
  • Select the column before which you what to paste the cut column.
  • Press Ctrl together with the Plus sign (+) on the numeric keypad to insert the column.

How to move several 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:

Swap multiple columns by copying, pasting and deleting

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:

  1. Select the columns you want to switch (click the first column's heading, press Shift and then click the last column heading).

    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.
    Selecting only cells with data rather than entire columns

    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".
  2. Copy selected columns by pressing Ctrl + C or right click the columns and choose Copy.
  3. Select the column before which you want to insert the copied columns and either right click it and choose Insert copies cells, or simultaneously press Ctrl and the plus sign (+) on the numeric keypad.
    Select the column before which you want to insert the copied columns and choose Insert copies cells.
  4. Delete the original columns.

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.

Change the columns order in Excel using VBA

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.

Re-arrange columns with Column Manager

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:
Column Manager for Excel

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:
Moving columns in Excel

Or, drag-and-drop the columns on the pane with your mouse. Both methods work for adjacent and non-adjacent columns:
Dragging 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:
Move columns to the end or to the beginning of the table.

And finally, a couple of nice bonuses:

Autofit column width - Click this icon to auto fit the width of the selected columns.

Insert a new column - 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 60+ 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 15-day trial version to see for yourself. The Ultimate Suite works with all versions of Excel 2016, 2013 and 2010. If you like the tools, please do come back and grab a special 15% off coupon code that we provide especially for our blog readers: AB14-BlogSpo

I thank you for reading and hope to see you on our blog next week.

You may also be interested in:

42 Responses to "How to swap columns by dragging and other ways to move columns in Excel"

  1. olin says:

    Mega fail. Just use a SHIFT key while dragging a fully selected column(s).

  2. Hima says:

    very much useful data. Thanks a lot

  3. Dan says:

    Thanks, very helpful! :)

  4. Joel says:

    how to get next column values from another sheet while drag?

  5. Shivanand says:

    Thanks a lot! Drag-and-drop worked.

  6. Anonymous says:

    The Drag & Drop solution is detailed good to quickly catch up.

    THanks
    SS JEYakumar

  7. jeff says:

    thank you so much! this will save me a lot of time!

  8. Mayur Patel says:

    Thnxx... Help me a lot..!!!

  9. james says:

    Thanks so much for the help.

  10. Housseine says:

    Thanks so much!

  11. Anonymous says:

    Thanks a lot the drag and drop helped.

  12. Abdul Farhan says:

    I want to no how can we move only selection row...?

  13. Anonymous says:

    I would like column arranged according to the values of another column in exel sheet

  14. Lee Caron says:

    Thanks so much -- exactly what I needed, and very simple, too!

  15. Keith Hudson says:

    Doesn't work in a table. Convert it to a range first.

  16. Bhushit Joshipura says:

    Thanks for drag and drop.
    Works with finite columns and finite rows but not for entire selection.

  17. Matt says:

    Thanks for your help!

  18. Shubham Sharma says:

    I really appreciate your work! Actually, I'm a visually impaired person and I regularly use Computer in all my professional as well as in personal tasks. I thank you for providing the shortcut keys for keyboard users like me to perform swap columns commands in excel with keyboard.

  19. Phuong says:

    Thanks for your guideline

  20. Brad says:

    Thank you so much. I should have checked here first. Your advice is clear and simple. Exactly as it should be. I appreciate your work!

  21. Trazor says:

    Thanks a lot drag & drop works nicely for me :)

  22. Jennifer says:

    Oh, thank you! That worked perfectly.

  23. Olack says:

    Hi,
    How about moving columns in groups (column wise) or next to a particular column using formula? Can it be done that way?
    Thank you so much in advance.

  24. Jane says:

    Very helpful, Thank you!

  25. Fahim says:

    Thanks for useful information.

    Thanks

  26. Nimish says:

    While performing the function, a dialogue box appears saying:
    Do you want to replace the contents of the destination cells?

    Could you help me in this regard?

    • Hello Nimish,

      This may happen if you hold down CTRL when pointing to the border of the column. Dragging the column while holding the CTRL key copies the selected column(s) to another location. To move the column, be sure to hold SHIFT while dragging the column.

  27. Rudi says:

    Cool, but is it possible to save the column shift routine to redo the same process every now on then on similar workbooks without having to manually move all the columns?

  28. Robert says:

    In a typical table is there another option to hide/unhide columns?

    For example, can I define a view with columns I want shown, name the view(s), then select views I have defined?

    Would be easier when you have multiple views; just click the "view name" and there you have it. rjm

  29. Faidhilah says:

    This is such a great help!

  30. Matt says:

    Hi, I want a corresponding column which follows after another to be arranged in the order of the previous column when I change it to 'Smallest to Largest' if that makes sense?

    Any help appreciated cheers

  31. H. Neufeld says:

    Hello,

    I was wondering if it were possible to drag and drop to the right instead of dropping down. I have a data table that follows columns on one sheet and a data table that follows rows on another sheet. I want to have the data from the column table appear on the rows table. I have been manually pressing = for each cell to connect to the reference cell. Once I had a few cells filled in, I tried to drag to the right in the hopes that it would follow the reference cells down the column on the other sheet, but no go... If you have any suggestions I would appreciate it. :)

  32. Youness says:

    Thank you very much, that exactly what I was looking for.

  33. Bert says:

    Great!, thanks!

  34. jasir says:

    how can put numbers orderly by dragging without mouse

  35. Arif says:

    for Example
    4,5 coulam is merge but fornt coulam is unmerge same acetic lot of coulam,

    problem is that merge value and unmerge value is different how could i merge all coulam

    Thanks Arif

  36. Anip says:

    Is it possible to move one column to another column in Pivot?? If possible, pls suggest steps..

  37. Christopher says:

    Thank you for publishing this!!

Post a comment



Unfortunately, due to the volume of comments received we cannot guarantee that we will be able to give you a timely response. When posting a question, please be very clear and concise. We thank you for understanding!
Excel add-ins and Outlook tools - Ablebits.com
33
Ultimate Suite 2018.5 for Excel
33
60+ tools for Excel
December offer: Dec. 8 – Dec. 17