Table of contents
如果你正在寻找一些在Excel中把多行转换为列的最简单的方法,那么你会发现这篇文章对你很有帮助。 那么,让我们深入了解一下这篇主要文章。
下载工作手册
多行转换为列.xlsm在Excel中把多行转换为列的9种方法
在这里,我们有一些产品的销售记录,这些产品的月份从 一月 至 5月 我们将尝试把行转换成列,这样我们就可以把各月的记录可视化为列标题,我们将利用这个数据集,主要是演示如何轻松地把多行转换成列。
我们已经使用了 微软Excel 365 在这里,你可以根据你的方便使用任何其他版本。
方法一:使用移位选项将Excel中的多行转换为列
在这里,我们将使用 移位 选项中的 粘贴选项 来轻松地将以下多行转换为列。
阶梯 :
➤ 按以下步骤复制整个数据集的范围。 CTRL+C .
➤ 选择你想有输出的单元格。 右键点击 在你的鼠标上,并选择 转位 选项,从 粘贴选项 .
然后,你将能够对你的数据进行转置,这意味着将行转换为列。
阅读更多:Excel 宏程序:将多行转换为多列(3个例子)
方法二:使用TRANSPOSE函数将多行转换为列
在本节中,我们将使用一个数组函数,即 输送功能 ,将以下数据集的多行转换为多列,为了收集数据,我们还在主数据集下面格式化了另一张表。
阶梯 :
➤ 在单元格中键入以下公式 B10 .
=transpose(b3:e8)
在这里。 输送 将改变范围内的行数 B3:E8 同时成列。
➤ 按 进入 .
之后,你会得到如下图所示的行与列之间的转换。
你必须按 ctrl+shift+enter 而不是按 进入 用于除Microsoft Excel 365以外的其他版本 .
阅读更多:如何在Excel中把列移到多行(6种方法)。
方法三:使用INDIRECT和ADDRESS函数
在这里,我们将使用 INDIRECT功能 , ADDRESS(地址)功能 , ROW功能 ,以及 COLUMN功能 将以下数据集的行转化为列。
阶梯 :
➤ 在单元格中使用以下公式 B10 .
=indirect(address( column(b3) - column($b$3) + row($b$3), row(b3) - row($b$3) + column($b$3))
在这里。 B3 是主数据集的起始单元。
COLUMN(B3)
→返回单元格的列号
B3
输出→ 2
COLUMN($B$3)
→返回单元格的列号
$B$3
(绝对引用将固定这个单元格)
输出→ 2
ROW($B$3)
→返回单元格的行数
$B$3
(绝对引用将固定这个单元格)
输出→ 3
ROW(B3) →
返回单元格的行数
B3
输出→ 3
column(b3) - column($b$3) + row($b$3)
成为2-2+3 → 3
row(b3) - row($b$3) + column($b$3)
成为3-3+2 → 2
address( column(b3) - column($b$3) + row($b$3), row(b3) - row($b$3) + column($b$3))
成为地址(3, 2) →
的交点处的引用。
第3行
和
第2栏
输出→ $B$3
间接(address(column(b3) - column($b$3) + row($b$3), row(b3) - row($b$3) + column($b$3))
成为间接("$b$3")
→ 返回该单元格的值 $B$3 .输出→ 月份
➤ 按 进入 .
➤ 拖动 填充手柄 工具到右侧并向下。
最后,你将能够把主数据集的多行改为多列。
阅读更多:Excel VBA:从单元格地址获取行和列号(4种方法)
方法四:使用INDEX函数将多行转换为列
在这一节中,我们将使用组合的 INDEX功能 , COLUMN功能 ,以及 ROW功能 来轻松地将多行转换为列。
阶梯 :
➤ 在单元格中应用以下公式 B10 .
=index($b$3:$e$8,列(a1),行(a1))
在这里。 $B$3:$E$8 是数据集的范围。 A1 是用来获取这个数据集的第一行和第一列的编号。 我们使用的是 列号 为 行数 争论和 行数 作为 栏目编号 参数,通过将这些值输入到 INDEX功能 .
➤ 按 进入 .
➤ 拖动 填充手柄 工具到右侧并向下。
之后,你会得到如下图所示的行到列的转换。
阅读更多:如何在Excel中添加多行和多列(各种可能的方法)。
方法五:使用INDEX-MATCH公式
在本节中,我们将使用 INDEX功能 ,以及 MATCH功能 用于将以下数据集的多行转换为列。
阶梯 :
➤ 首先,你必须手动将第一列转置为新表的第一行。
➤ 在单元格中键入以下公式 B11 .
=index($c$3:$c$8,match(b$10,$b$3:$b$8,0))
在这里。 $C$3:$C$8 是数据集的第二列,而 $B$3:$B$8 是数据集的第一列。
match(b$10,$b$3:$b$8,0)
成为MATCH("月",$B$3:$B$8,0)
→ 返回带有字符串的单元格的行索引号 月份 在范围内 $B$3:$B$8输出→ 1
index($c$3:$c$8,match(b$10,$b$3:$b$8,0))
成为index($c$3:$c$8,1)
→ 返回范围内的第一个值 $C$3:$C$8输出→ 橙色
➤ 按 进入 并拖动 填充手柄 工具到右边。
然后,你将得到主数据集的第二列作为第二行。
同样,应用以下公式来完成其余的转换。
=index($d$3:$d$8,match(b$10,$b$3:$b$8,0))
=index($e$3:$e$8,match(b$10,$b$3:$b$8,0))
最后,你将得到第一个数据集的所有行作为第二个数据集的列。
阅读更多:如何在Excel中把多列转为行?
类似读物
- [修正!]Excel中的行和列都是数字
- 如何在Excel中隐藏行和列(10种方法)
- Excel VBA:按行和列号设置范围(3个例子)
方法-6:使用VLOOKUP函数将多行转换为列
在本节中,我们将使用 VLOOKUP函数 将以下数据表的多行转置为列。
阶梯 :
➤ 在开始时,必须手动将第一列转置为新数据集的第一行。
➤ 在单元格中写下以下公式 B11 .
=vlookup(b$10,$b$3:$e$8,2,false)
在这里。 $B$3:$E$8 是数据集的范围。 B$10 是查询值,而 2 是用于查看数据集第二列中的数值。
➤ 按 进入 并拖动 填充手柄 工具到右边。
之后,你会得到主数据集的第二列作为第二行。
以同样的方式,使用下面给出的公式来完成其余的转换。
=vlookup(b$10,$b$3:$e$8,3, false)
=vlookup(b$10,$b$3:$e$8,4, false)
阅读更多:如何在Excel中添加行和列(3种简单方法)。
方法-7:使用Power Query
在这里,我们将使用 权力查询 但我们必须在数据集的开头添加一个额外的行,因为 权力查询 不会将第一行转化为列,因为它认为它是标题。
阶梯 :
➤ 转到 数据 标签>>。 获取和转换数据 集团>>。 从表/范围 选择。
在这之后, 创建表格 会出现向导。
➤ 选择数据范围,然后点击 我的表格有标题 选择。
➤ 按 认可 .
然后,在 强大的查询编辑器 窗口将出现。
➤ 选择数据集的所有列,按 CTRL 和 左键点击 同时在你的鼠标上 .
➤ 转到 转型 标签>>。 转位 选择。
你也可以让你的数据集的第一行成为标题。
➤ 转到 转型 标签>>。 使用第一行作为页眉 集团>>。 使用第一行作为页眉 选择。
然后,你将从主数据集的行中得到转换后的列。
➤ 要关闭这个窗口,请到 首页 标签>>。 关闭 & 载入 集团>>。 关闭 & 载入 选择。
这样一来,表格中的 强大的查询编辑器 窗口将被加载到一个新的工作表,名为 表5 .
阅读更多:如何在Excel中切换行和列(5种方法)
方法-8:使用VBA代码将多行转换为列
在本节中,我们将使用一个 VBA 代码,将多行转换为列。
阶梯 :
➤ 转到 开发商 标签>>。 视觉基础 选择。
然后,在 Visual Basic编辑器 将打开。
➤ 转到 插入 标签>>。 模块 选择。
在这之后,一个 模块 将被创建。
➤ 编写以下代码
Sub conversionofmultiplerows() Dim multiple_rows_range, multiple_columns_range As Range Set multiple_rows_range = Application.InputBox( _ Prompt:="选择行的范围", Title:="Microsoft Excel", Type:=8) Set multiple_columns_range = Application.InputBox( _ Prompt:="选择目标单元格", Title:="Microsoft Excel", _ Type:=8) multiple_rows_range.Copy multiple_columns_range.PasteSpecialPaste:=xlPasteAll, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=True End Sub
在这里,我们已经宣布 多行范围 ,以及 多列范围 作为 范围 ,它们被设置为我们将通过的范围。 输入框 通过使用 输入框 方法。
然后,我们将复制主数据集 多行范围 然后将其作为转置粘贴在目标单元格中 多列范围 .
➤ 按 F5 .
然后,你将得到一个输入框,你必须选择数据集的范围。 $B$3:$E$8 在 选择行的范围 框,并按 认可 .
然后,将弹出另一个输入框。
➤ 选择目标单元格 $B$10 在你想拥有转置的数据集的地方,然后按 认可 .
最终,你会从多行中得到转换后的列,即使主数据集的格式化也像下面这样。
阅读更多。 如何在Excel图表中切换行和列(2种方法)
方法9:使用OFFSET函数将多行转换为列和行
我们有一个包含一些学生姓名、科目和相应分数的列表,分多行。 现在,我们想把前三行转换成这个列表旁边的表格的三个不同的列。 同样,我们想把其余的行转换成每三行的列。 所以,你可以看到我们需要一次把行转换成列和行。
要做到这一点,我们将使用 关节 , ROW ,以及 COLUMN功能 .
阶梯 :
➤ 在单元格中键入以下公式 D4 .
=offset($b$4,column()-4+(row()-4)*3,0,1,1)
在这里。 $B$4 是列表的起始单元。
COLUMN()
→返回单元格的列号
D4
应用该公式的地方。
输出→
4
COLUMN()-4
成为4-4 → 4
被减去,因为公式的起始单元格是在
第4栏
.
输出→
0
ROW() →
返回单元格的行数
D4
应用该公式的地方。
输出→
4
See_also: 如何在Excel图表中切换行和列(2种方法)
(ROW()-4)*3
成为(4-4)*3 → 4
被减去,因为公式的起始单元格是在
第4行
并乘以
3
因为我们要改造
3
每次都是将行变成列。
输出→
0
offset($b$4,column() -4+(row() -4)*3,0,1,1)
成为
OFFSET($B$4,0+0,0,1,1)
offset($b$4,0,0,1,1) → offset
将提取高度和宽度为
1
从细胞开始
$B$4
.
输出
→ 约瑟夫
➤ 按 进入 .
➤ 拖动 填充手柄 工具到右侧并向下。
最终,你将能够完成从多行到列和行的转换。
阅读更多:在Excel中移动行/列而不替换现有数据(3种最佳方法)。
练习部分
为了方便自己的练习,我们提供了一个 实践 的工作表中,像下面这样,在一个名为 实践 .请自己动手吧。
总结
在这篇文章中,我们试图涵盖在Excel中轻松转换多行到列的方法。 希望你会发现它很有用。 如果你有任何建议或问题,欢迎在评论区分享。