How to easily and quickly transpose range and stack data in Excel?
For instance, there are some data displayed in groups, and now I want to transpose the range and stack the data in each column as below screenshot shown. In this article, I will introduce the methods on this task in Excel.
You can apply a VBA code to transpose and stack data.
1. Select data except column headers, and press Alt + F11 keys to enable Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste below code to the Module.
VBA: Transpose and Stack data
Sub ConvertTableToList() 'UpdatebyExtendoffice20161121 Const TEST_COLUMN As String = "A" Dim i As Long, j As Long Dim iLastRow As Long Dim iLastCol As Long Application.ScreenUpdating = False With ActiveSheet iLastRow = .Cells(.Rows.Count, TEST_COLUMN).End(xlUp).Row For i = iLastRow To 2 Step -1 iLastCol = .Cells(i, .Columns.Count).End(xlToLeft).Column For j = iLastCol To 3 Step -1 .Rows(i + 1).Insert .Cells(i + 1, 2).Value = .Cells(i, j).Value .Cells(i, j).Value = "" Next j Next i .Rows(1).Delete End With Application.ScreenUpdating = True End Sub
3. Press F5 key, and then the data have been transposed and stacked. See screenshot:
Note: In the VBA code, A indicates to place the transpose data in column A of the active sheet and replace the original data in column A.
If you want to quickly and easily transpose range and stack data without VBA code, you can apply Kutools for Excel’s Transpose Table Dimension utility.
|Kutools for Excel, with more than 300 handy functions, makes your jobs more easier.|
After installing Kutools for Excel, please do as below:(Free Download Kutools for Excel Now!)
1. Select the data you use, click Kutools > Range > Transpose Table Dimensions. See screenshot:
2. In the dialog, check Cross table to list option, and select a cell you want to place the transposed data in Results range (single cell) textbox. See screenshot:
3. Click Ok. Now the range has been transposed and stacked in columns.