How to Convert Vertical to Horizontal in Excel

To convert vertical data to horizontal in Excel, copy the column, right-click where you want the row to start, and choose Paste Special > Transpose. Excel flips it so the column becomes a row, and the same works the other way round, or for a whole table. If you want the row to update when the original column changes, use the =TRANSPOSE() function instead.

Three ways to convert vertical data to horizontal in Excel: Paste Special Transpose, the TRANSPOSE function, and TOROW or WRAPROWS
Paste Special for a one-off copy; TRANSPOSE for a linked one. Drawn example; your screen may look slightly different.

Method 1: Paste Special Transpose

  1. Select the cells in the column, for example A1:A10.
  2. Press Ctrl + C to copy. Don’t use Cut, because Transpose isn’t available for cut cells.
  3. Click the cell where the row should start, such as C1. Make sure there’s enough empty space to the right.
  4. Right-click and under Paste Options, click the Transpose icon (two arrows forming a corner). Or go to Home > Paste > Transpose.

Keyboard shortcut: after copying, press Ctrl + Alt + V to open Paste Special, press E to tick Transpose, then Enter.

This works for a whole table too: select every row and column, copy, and paste with Transpose, and the rows become columns and the columns become rows. The pasted data is a static copy. Changes to the original won’t carry over. Delete the original afterward if you don’t need it.

Method 2: The TRANSPOSE function (stays linked)

  1. Click the cell where the row should start.
  2. Type =TRANSPOSE(A1:A10) and press Enter.

In Microsoft 365 and Excel 2021 or later, the results spill across the row automatically. If you edit a value in A1:A10, the row updates. You can’t edit the individual result cells, only the source.

In Excel 2019 and earlier, first select a range with the right shape (one row and ten columns for ten values), type the formula, and press Ctrl + Shift + Enter to enter it as an array formula.

Method 3: Reshape data with TOROW, TOCOL, and WRAPROWS

Microsoft 365 has newer functions for jobs Transpose can’t do:

  • =TOROW(A1:C4) puts every value from a block into one row.
  • =TOCOL(A1:F1) stacks a row into a single column.
  • =WRAPROWS(A1:A12,3) takes a long column and wraps it into rows of three, which is useful when a list repeats fields such as name, email, and phone.

Method 4: Power Query (for data you import again and again)

If you receive the same vertical data every week, set up the conversion once in Power Query: select the data, choose Data > From Table/Range, then Transform > Transpose, and Close & Load. Next time, just refresh. If the Power Query commands are missing, finding and enabling Power Query shows where they are.

Swap rows and columns in a chart

If it’s a chart that’s plotted the wrong way round, you don’t need to move the data. Click the chart and choose Chart Design > Switch Row/Column.

Troubleshooting

Transpose is greyed out

You cut the data instead of copying it. Press Esc, copy with Ctrl + C, and paste again.

“The paste area overlaps the copy area”

The destination overlaps the original. Paste somewhere else, such as a new sheet, then move it back if needed.

#SPILL! error with TRANSPOSE

Something is in the way of the cells the result needs. Clear the cells to the right of the formula.

Formulas point to the wrong cells after transposing

Paste Special adjusts relative references, which can break formulas. Paste as values first (Paste Special > Values with Transpose ticked), or use TRANSPOSE.

Leading zeros or long numbers change

Format the destination cells as Text before pasting. Other fixes are in stopping Excel from removing leading zeros.

Frequently asked questions

How do I convert a row into a column?

Exactly the same way. Copy the row and use Paste Special > Transpose, or =TRANSPOSE(A1:J1).

Can I transpose and keep the formatting?

Yes. The standard Transpose paste keeps formatting. To bring only values, tick both Values and Transpose in the Paste Special dialog.

Does this work in Google Sheets?

Yes. Use Edit > Paste special > Transposed, or the =TRANSPOSE() function.

Summary

Copy the vertical data, right-click the destination, and choose Paste Special > Transpose. Use =TRANSPOSE() when you want the horizontal copy to stay linked, and TOROW or WRAPROWS to reshape data in Microsoft 365.

Related: how to flip data in Excel.