Transpose/Convert Columns And Rows Into Single Column With Formula
The following long formula can help you quickly transpose a range of data into a column, please do as this:
1. First, define a range name for your range of data, select the range data that you want to convert, right click and choose Define Name form the context menu. In the New Name dialog box, enter the range name you want. Then click OK. See screenshot:
2. After specify the range name, then click a blank cell, in this example, I will click cell E1, and then input this formula: =INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1).
Note: MyData is the range name of the selected data, you can change it as you need.
3. Then drag the formula down to the cell until the error information is displayed. All the data in the range has been transposed into a single column. See screenshot:
Transpose/Convert Columns And Rows Into Single Column With VBA Code
With the following VBA code, you can also join the multiple columns and rows into a single column.
1. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module window.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| Sub ConvertRangeToColumn() 'Updateby20131126 Dim Range1 As Range, Range2 As Range, Rng As Range Dim rowIndex As Integer xTitleId = "KutoolsforExcel" Set Range1 = Application.Selection Set Range1 = Application.InputBox( "Source Ranges:" , xTitleId, Range1.Address, Type:=8) Set Range2 = Application.InputBox( "Convert to (single cell):" , xTitleId, Type:=8) rowIndex = 0 Application.ScreenUpdating = False For Each Rng In Range1.Rows Rng.Copy Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:= True rowIndex = rowIndex + Rng.Columns.Count Next Application.CutCopyMode = False Application.ScreenUpdating = True End Sub |
3. Press F5 key to run the code, and a dialog is displayed for you to select a range to convert. See screenshot:
4. Then click Ok, and another dialog is displayed to select a singel cell to put out the result, see screenshot:
5. And click Ok, then the cell contents of the range are converted to a list of a column, see screenshot:
-reference source-
https://www.extendoffice.com/documents/excel/1172-excel-transpose-multiple-columns-into-one-column.html?page_comment=7
Thanks!