如何在 Excel 中将矩阵表转换为三列表

ms excelmicrosoft technologiescomputers更新于 2025/1/30 16:12:17

有时,您可能需要在 Excel 中将矩阵表转换为列表。在 Excel 中,任何包含 m 行和 n 列的表格都称为矩阵表,而任何包含 m 行和三列的表格都称为三列表格表。阅读本教程,了解如何在 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 中将矩阵式表格转换为三列式表格。


相关文章


有用资源