Excel 如何将矩阵式表格转换为三栏式表格
在Excel中,有时你可能需要将一个矩阵式表格转换为列式表格。任何具有m行和n列的表格都被称为矩阵式表格,而任何具有m行和3列的表格在Excel中被称为三列式表格。阅读本教程,了解如何将Excel中的矩阵式表格转换为三栏式表格。我们可以在VBA程序的帮助下完成这一过程,因为它不能直接在Excel中完成。
在Excel中把矩阵式表格转换为三栏式表格
在这里,我们首先要创建一个VBA模块,然后运行代码来完成这个任务。让我们来看看在Excel中把矩阵式表格转换为三栏式表格的简单过程。
第1步
让我们考虑任何一个包含矩阵式表格的Excel工作表,与下面的图片类似。
然后右击工作表名称,选择查看代码,打开VBA应用程序,然后点击插入,选择模块。
**右键单击 > 查看代码 > 插入 > 模块 **
第2步
然后在文本框中输入下面提到的程序,如下图所示。
程序
Sub ConvertTable()
'Updated By Nirmal
Dim Rng As Range
Dim cRng As Range
Dim rRng As Range
Dim xOutRng As Range
xTitleId = "Convert to Column"
Set cRng = Application.InputBox("Select your Column labels", xTitleId, Type:=8)
Set rRng = Application.InputBox("Select Your Row Labels", xTitleId, Type:=8)
Set Rng = Application.InputBox("Select your data", xTitleId, Type:=8)
Set outRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set xWs = Rng.Worksheet
k = 1
xColumns = rRng.Column
xRow = cRng.Row
For i = Rng.Rows(1).Row To Rng.Rows(1).Row + Rng.Rows.Count - 1
For j = Rng.Columns(1).Column To Rng.Columns(1).Column + Rng.Columns.Count - 1
outRng.Cells(k, 1) = xWs.Cells(i, xColumns)
outRng.Cells(k, 2) = xWs.Cells(xRow, j)
outRng.Cells(k, 3) = xWs.Cells(i, j)
k = k + 1
Next j
Next i
End Sub
第3步
现在,将工作表保存为支持宏的工作簿,并点击F5来运行代码,然后选择你的列标签,并点击确定。
第4步
然后选择你的行标签,并点击确定。
第5步
现在选择你的数据,不包括行和列的标签,然后点击确定。
第6步
最后,在选择你想开始制作表格的单个单元格后,点击确定。
结论
在本教程中,我们用一个简单的例子来演示如何在Excel中把矩阵式表格转换成三列。