How to convert crosstab table (2-dimensional table) to list in Excel?
Do you know how to convert a cross table (two dimensional table) to a list table (one dimensional table) in Microsoft Excel? For some reasons, you may need to convert a table (with row headings and column headings) to a flat list in Excel. The following tricks can help you convert a cross table to flat list easily and quickly:
- Convert cross table to list in Excel with VBA
- Convert cross table to list in Excel with Kutools for Excel
Supposing you have a cross table and need to convert it to a list as follows.
|Cross table (with row headings and columns headings)||A list table (one dimensional table)|
The following VBA macro can help you quickly convert all cross tables in active worksheet to flat lists.
Step 1: Hold down the Alt + F11 keys in Excel, and it opens the Microsoft Visual Basic for Applications window.
Step 2: Click Insert > Module, and paste the following macro in the Module Window.
The VBA on transpose crosstab table to list:
Const TEST_COLUMN As String = "A"
Dim i As Long, j As Long
Dim iLastRow As Long
Dim iLastCol As Long
Application.ScreenUpdating = False
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 = ""
Application.ScreenUpdating = True
Step 3: Click the F5 key to run this macro.
Then you will see the converted list showing as following screenshot:
1. This VBA macro loses some data of original table, such as headers, or others. In this case, the headers (Name, Grade, and Class) are lost.
2. You can change As String = "A", to meet your need. For example, if the cross table is stated in Column E, you should instead "E" of "A".
3. And if there are other data in the worksheet, sometimes the data in the list will be wrong after converting a cross table.
If you have Kutools for Excel installed, you can use its Transpose Table Dimensions tool to convert cross tables to flat list quickly.
Step 1: Select the table which you will convert it to a list.
Step 2: Click the Kutools >Modify > Transpose Table Dimension. See the following screen shot:
Step 3: In Transpose Table Dimensions dialog box, check the Cross table to list option, and select the Results range with clicking the button.
Step 4: Click OK button.
Then you will see the original table is converted into a flat list as following screenshot:
Transpose Table Dimensions also can convert list to crosstab table. For more information, please go to Transpose Table Dimensions.
Best Office Productivity Tools
Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time. Click Here to Get The Feature You Need The Most...
Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier
- Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
- Open and create multiple documents in new tabs of the same window, rather than in new windows.
- Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!