Move and Reorder Columns
Moving one column is a two-second drag; putting a dozen of them into a new order one at a time is where an afternoon goes. For the single move the only thing that matters is holding Shift, so the column slots in rather than landing on top of its neighbour. For a wholesale reorder, stop dragging altogether: insert a helper row above the headers, number the columns in the order you want them, then use Data > Sort > Options > Sort left to right on that row and delete it afterwards. Excel rearranges every column in one pass, and it cannot misfire the way twelve consecutive drags can.
The formula
one column, new position select the heading, hold Shift, drag the border
same thing without the mouse Ctrl+X on its heading, then Insert Cut Cells at the destination
whole table into a new order helper row of numbers > Data > Sort > Options > Sort left to right
copy rather than move hold Ctrl instead of Shift while dragging
rows and columns exchanged that is transposing, not movingA worked example
A 14-column export arrives in the order the source system happens to use, and the report needs a completely different order every month.
Insert a row above the headers, type 4, 1, 9, 2 … under each heading to say where that column belongs, select the whole block including the helper row, then Data > Sort > Options > Sort left to right and sort by that row.
All fourteen columns land in the stated order in one operation, headers travelling with their data. Delete the helper row and the sheet is done. Next month the same helper row can be pasted back in, which makes a repeatable job out of something that is otherwise fourteen careful drags with no way to check the result.
Which one do I need?
| If you want to… | Use |
|---|---|
| One column needs to sit somewhere else | Select its heading, hold Shift, drag the border — a thin vertical guide marks the boundary it will drop into |
| You would rather not drag | Ctrl+X on its heading, then Insert Cut Cells on the heading it should precede |
| Half the table needs reordering | A numbered helper row plus Data > Sort > Options > Sort left to right does all of them at once |
| Two columns simply need to trade places | Move one past the other and the second is displaced automatically; there is no swap command and none is needed |
| Rows and columns need to change roles | That is transposing rather than moving, and it rewrites the whole block |
| It is rows that need reordering | The same Shift+drag works vertically on row numbers |
| It is a block of cells rather than a whole column | Selecting part of a column and moving it takes those rows out of step with the rest of the sheet |
| The column should go rather than move | Right-click the heading and choose Delete; Ctrl+Minus is the keyboard version |
Frequently asked questions
How do I reorder a whole table's columns at once?
Give Excel the order as data rather than as gestures. Insert a row above the headers and type 1, 2, 3 … under each heading to say where that column should end up, select the block including that row, then Data > Sort > Options > Sort left to right and sort by the helper row. Every column moves in one pass, headers included, and deleting the helper row finishes the job.
Why does Excel say the command cannot be used on multiple selections?
You Ctrl+clicked several columns that are not next to each other. Cut, drag-move and Insert Cut Cells all require one contiguous block, so scattered columns have to be handled one at a time. If they are meant to end up adjacent anyway, the numbered helper row and Sort left to right will put all of them in place in a single operation instead.
Does sorting left to right move my row labels too?
Yes, if they are inside the selection — left-to-right sorting treats every selected column alike, including a first column holding row headings, and will happily send it into the middle of the table. Leave that column out of the selection, or give it a helper number of 1 so it sorts back to the front. Check the result before deleting the helper row, because Ctrl+Z is the only clean undo.
Which formulas need checking after a column move?
Direct references look after themselves — a formula pointing at the moved column is rewritten to its new address. Two kinds do not. A range that spanned the old position, such as =SUM(C2:E100), still covers columns C to E and now holds different data. And anything built from text, INDIRECT and OFFSET especially, refers to an address rather than to a cell and keeps pointing at whatever now lives there.
New guides and tools, once a month
DE + EN · double opt-in · no spam