Stop Doing Copy-Paste — Stack Columns in Excel in 2 Steps

It's 4:47 PM on Friday. Your manager just asked for a consolidated report by 5. You have 12 spreadsheets open and no idea how to combine them. Column A is Jan sales, B is Feb, C is Mar—and you need all values in a single column, sorted, with month labels attached. You try dragging. You try Paste Special > Transpose. Nothing works.

The Problem

You’ve got data spread across columns—but your analysis tool, Power BI import, or colleague’s template expects one long list. Not three side-by-side columns. Not five rows per month. One column. With context.

Here’s what your raw data looks like in Sheet1, cells A1:C8:

Jan SalesFeb SalesMar Sales
$24,800$31,200$28,500
$19,300$22,700$26,100
$33,600$35,900$34,200
$27,100$29,400$30,800
$41,200$43,500$42,700
$18,900$20,300$21,600
$36,400$38,100$37,900

That’s 7 rows × 3 columns = 21 values. But you need 21 rows × 2 columns: one for value, one for month label. And it must be repeatable—not manual copy-paste.

The Solution

Do this. Exactly. No deviations.

  1. Select A1:C7 (not C8—skip the header row). Press Ctrl+C.
  2. Go to a blank sheet or blank area. Click cell E1. Press Alt+H+V+T (Home → Paste → Transpose). Now you’ll see 3 rows × 7 columns.
  3. Select that transposed block (E1:K3). Press Ctrl+C again.
  4. Click M1. Press Alt+H+V+S (Paste Special → Values only). Now paste as values.
  5. In column L, type Jan in L1, Feb in L2, Mar in L3. Select L1:L3. Drag the fill handle down to L21. Excel auto-fills repeating Jan/Feb/Mar.
  6. Select M1:M21 and L1:L21. Press Ctrl+C. Go to N1. Press Alt+H+V+V (Paste Values). Done.

Wait—no. That’s not right. That’s the old way. Here’s the real solution.

Use Power Query. It’s built-in. It’s fast. It’s repeatable.

  1. Select A1:C8 (including headers). Press Ctrl+T to make it a table. Name it SalesByMonth (Formulas tab → Define Name).
  2. Go to Data tab → Get & Transform → From Table/Range. Check “My table has headers”. Click OK.
  3. In Power Query Editor, select all three columns (Jan Sales, Feb Sales, Mar Sales). Right-click → Unpivot Columns.
  4. Rename Attribute column to Month. Rename Value column to Sales.
  5. Close & Load. Output lands in a new sheet: two clean columns, 21 rows, perfectly stacked.

Result in Sheet2, starting at A1:

MonthSales
Jan Sales$24,800
Jan Sales$19,300
Jan Sales$33,600
Jan Sales$27,100
Jan Sales$41,200
Jan Sales$18,900
Jan Sales$36,400
Feb Sales$31,200
Feb Sales$22,700
Feb Sales$35,900
Feb Sales$29,400
Feb Sales$43,500
Feb Sales$20,300
Feb Sales$38,100
Mar Sales$28,500
Mar Sales$26,100
Mar Sales$34,200
Mar Sales$30,800
Mar Sales$42,700
Mar Sales$21,600
Mar Sales$37,900

Yes—21 rows. Yes—it keeps labels. Yes—it updates automatically if source changes.

Going Further

You don’t always want raw column names as labels. To fix that:

  • In Power Query, before Unpivot: select Jan Sales column → Transform tab → Rename → type Jan. Repeat for Feb → Feb, Mar → Mar.
  • After Unpivot, add a custom column: =Date.MonthName(Date.FromText([Month]&"/1/2024")). Gives "January", "February".
  • Need to stack non-contiguous columns? Hold Ctrl while selecting A1, C1, E1, then use From Table/Range. Power Query will name them Column1, Column2, Column3—rename before unpivoting.
  • Stacking text columns with headers? Add an Index column (Transform tab → Add Column → Index Column) before unpivoting. Lets you preserve original row order.

Surprising tip: If your source data has blank cells in the middle of a column, Power Query treats them as nulls—and stacks them too. Don’t delete blanks first. Let Power Query do it.

When NOT to Use This

Don’t use Power Query stacking if:

  • You’re sharing the file with someone using Excel 2010 or earlier. Power Query isn’t available.
  • Your data is live-connected (e.g., ODBC to SQL Server) and refreshes hourly—but you only need a one-time snapshot. Use Paste Special + Text to Columns instead.
  • You have 200 columns and need to stack only columns 3, 7, 12, and 19. Power Query forces you to select or exclude all—or write M code. Better to use INDEX + SEQUENCE in Excel 365.
  • You’re pasting into a legacy ERP system that requires strict row limits per upload—and stacking pushes you over. Check first.

Also: never stack columns that contain merged cells. Unmerge them first. Power Query fails silently on merged ranges and returns garbage.

Keyboard Shortcuts

ActionShortcutNotes
Open Power Query EditorAlt+A+PData tab → Get Data → Launch Editor
Unpivot Selected ColumnsAlt+J+U+UHome tab → Transform → Unpivot Columns
Rename ColumnAlt+H+RRight-click column header → Rename also works
Close & LoadAlt+F+CSaves query and dumps result to worksheet
Convert to TableCtrl+TRequired before Power Query import
Lisa Anderson

Lisa Anderson

Lisa is a certified Microsoft trainer who writes step-by-step guides for Power Automate