KutoolsforOffice — 一套方案,五大工具。事半功倍。

在 Excel 中转置数据的 5 种方法(分步教程)

作者Amanda Li修改日期

转置数据是指将数组的行变为列,或将列变为行,从而改变其方向。在本教程中,我们将为您介绍五种不同的方法,助您轻松切换数组方向,获得理想效果。


视频:在 Excel 中转置数据


使用选择性粘贴将列转换为行

注意:如果您的数据位于 Excel 表格中,“选择性粘贴”中的“转置”选项将不可用。您应先右键单击表格,然后在上下文菜单中选择“表格”>“转换为区域”,将表格转换为普通区域。

步骤 1:复制要转置的区域

选择要切换行列的单元格区域,然后按下“Ctrl”+“C”进行复制。

选择并复制要切换行列的单元格区域

步骤 2:选择“选择性粘贴”中的“转置”选项

右键单击目标区域的首个单元格,然后在右键菜单中点击位于“选择性粘贴”下方的“转置”图标。

右键单击目标区域的第一个单元格,然后从右键菜单中点击“转置”图标

结果

瞧!区域瞬间完成转置!

区域已被转置

注意:转置后的数据是静态的,且与原始数据集相互独立。如果您对原始数据进行任何更改,这些更改不会反映在转置后的数据中。如需将转置后的单元格与原始单元格建立链接,请参阅下一节。

(广告)使用 Kutools 轻松实现转换表格维数

在 Excel 中,将二维表格转换为扁平的一维列表(或反向操作)往往耗时费力。但安装 Kutools for Excel 后,借助其“转换表格维数”功能,您即可快速、轻松地完成此类转换。

Kutools for Excel 的“转置表格维度”工具

“Kutools for Excel”包含 300 多个实用功能,助您轻松高效完成工作!立即获取为期 30 天的全功能免费试用!


转置并链接数据到源数据

若要动态切换区域方向(将列转换为行或反之),并将转换后的结果与原始数据集关联,您可以使用以下任一方法:


使用 TRANSPOSE 函数将行转换为列

要使用“TRANSPOSE”函数将行转换为列,或将列转换为行,请按以下步骤操作。

步骤 1:选择与原始单元格数量相同但方向相反的空白单元格

提示:若您使用的是 Excel 365 或 Excel 2021,请直接跳过此步骤。

假设您的原始表格位于 A1:C4 区域(即包含 4 行 3 列),那么转置后的表格将变为 3 行 4 列。因此,请选择一个空白的 3 行 4 列区域用于放置转置结果。

步骤 2:输入 TRANSPOSE 公式

在编辑栏中输入以下公式,然后按下“Ctrl”+“Shift”+“Enter”即可获取结果。

提示:如果您使用的是 Excel 365 或 Excel 2021,请按 Enter 键。

=TRANSPOSE(A1:C4)
注意事项:
  • 请将 A1:C4 替换为您实际需要转置的源区域。
  • 如果原始区域中存在空单元格,“TRANSPOSE”函数会将其转换为 0. 若要在转置时去除零值结果并保留空白单元格,您需结合使用“IF”函数:
  • =TRANSPOSE(IF(A1:C4="","",A1:C4))

结果

行已转换为列,列也已转换为行。

使用 TRANSPOSE 函数转置表格

注意:如果您使用的是 Excel 365 或 Excel 2021,按下“Enter”键后,结果会自动填充到所需的行和列中。应用公式前,请确保溢出区域为空;否则将返回 #SPILL 错误。

使用 INDIRECT、ADDRESS、COLUMN 和 ROW 函数旋转数据

尽管上述公式易于理解和使用,但其缺点在于无法编辑或删除旋转表格中的任意单元格。为此,我将为您介绍一个结合“INDIRECT”、“ADDRESS”、“COLUMN”和“ROW”函数的解决方案。假设您的原始表格位于 A1:C4 区域,若要实现列转行的转换,同时保持旋转后的数据与源数据集动态关联,请按以下步骤操作:

步骤 1:输入公式

在目标区域的左上角单元格(本例中为 A6)中输入以下公式,然后按“Enter”:

=INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1)))

公式输入在目标区域最左上角的单元格中

注意事项:
  • 请将 A1 替换为您实际要转置的源区域左上角单元格,并保留美元符号($)不变。列字母和行号前的美元符号表示绝对引用,当您将公式移动或复制到其他单元格时,其列字母和行号将保持不变。
  • 如果原始区域中包含空单元格,该公式会将其转换为 0. 若要在转置时去除零值结果并保留空白单元格,您需结合使用 IF 函数:
  • =IF(INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1)))=0,"",INDIRECT(ADDRESS(COLUMN(A1)-COLUMN($A$1)+ROW($A$1),ROW(A1)-ROW($A$1)+COLUMN($A$1))))

步骤 2:将公式复制到右侧和下方的单元格

选中包含公式的单元格,先向下拖动填充柄(位于单元格右下角的小绿色方块),再向右拖动至所需的行数和列数。

结果

行列瞬间完成切换。

行列立即被切换

注意:转置区域不会保留数据的原始格式,如有需要,您可以手动设置单元格格式。

使用选择性粘贴与查找和替换将列转换为行

结合选择性粘贴与查找和替换功能,只需多走几步,即可在转置数据的同时,将源单元格与转置结果自动关联起来。

步骤 1:复制要转置的区域

选择您要转置的单元格区域,然后按下“Ctrl”+“C”进行复制。

选择并复制要转置的单元格区域

步骤 2:应用“选择性粘贴链接”选项

  1. 右键单击任意空白单元格,然后选择“选择性粘贴”。

    右键单击空白单元格,然后点击“选择性粘贴”

  2. 单击“粘贴链接”按钮。

    点击“粘贴链接”

您将获得如下所示的结果:

已粘贴所复制单元格的链接

步骤 3:从“选择性粘贴链接”结果中查找和替换等号(=)

  1. 选择结果区域(A6:C9),按下“Ctrl”+“H”,在弹出的“查找和替换”对话框中,将“=”替换为“@EO”(或任意在所选区域内不存在的字符)。

    在“查找和替换”对话框中将 = 替换为 @EO

  2. 单击“全部替换”,然后关闭对话框。下图展示了数据的最终效果。

    替换结果

步骤 4:转置替换后的“选择性粘贴链接”结果

选择区域 A6:C9,按 Ctrl+C 复制;右键单击空白单元格(此处为 A11),在“选择性粘贴”中点击“转置”图标,即可粘贴转置后的结果。

右键单击空白单元格(此处我选择了 A11),然后从“粘贴选项”中选择“转置”图标

步骤 5:恢复等号(=)以将转置结果链接到原始数据

  1. 保持已选中转置后的结果数据 A11:D13,然后按“Ctrl”+“H”,将“@EO”替换为“=”(操作与“步骤 3”相反)。

    替换结果

  2. 单击“全部替换”,随后关闭对话框。

结果

数据已成功转置,并与原始单元格保持关联。

注意:数据的原始格式已丢失,您可以手动恢复。处理完成后,欢迎随时删除 A6:C9 区域。

使用 Power Query 转置并链接数据到源数据

Power Query 是一款强大的数据自动化工具,助您轻松在 Excel 中完成数据转置。请按以下步骤操作:

步骤 1:选择要转置的区域并打开 Power Query 编辑器

选择要转置的数据区域,然后在“数据”选项卡的“获取和转换数据”组中,单击“从表格/区域”。

功能区上的“来自表格/区域”按钮

注意事项:
  • 如果所选数据区域未以表格形式呈现,系统将弹出“创建表”对话框;单击“确定”即可将其转换为表格。
  • 如果您使用的是 Excel 2013 或 2010,且在“数据”选项卡中找不到“从表/区域”命令,请前往“Power Query 页面”下载并安装该功能。安装完成后,切换到“Power Query”选项卡,在“Excel 数据”组中单击“从表”。

步骤 2:使用 Power Query 将列转换为行

  1. 转到“转换”选项卡,在“将第一行用作标题”下拉菜单中,选择“将标题用作第一行”。

    转到“转换”选项卡,在“将首行用作标题”下拉菜单中选择“将标题用作首行”

  2. 单击“转置”按钮。

    点击“转置”

步骤 3:将转置后的数据保存到工作表

在“文件”选项卡中,点击“关闭并加载”,即可关闭“Power Query 编辑器”窗口,并自动创建一个新工作表来加载转置后的数据。

点击“关闭并加载”

结果

转置后的数据将以表格形式呈现在新建的工作表中。

转置后的数据已在新创建的工作表中转换为表格

注意事项:
  • 如上所示,第一行会生成额外的列标题。若要将标题下方的第一行提升为列标题,请在数据区域内任选一个单元格,依次单击“查询”>“编辑”,然后选择“转换”>“将第一行用作标题”,最后点击“主页”>“关闭并加载”。
  • 选择“转换”>“将首行用作标题”
  • 若对原始数据集进行了任何更改,您只需单击“查询和连接”窗格中表格旁的“刷新”图标,或点击“查询”选项卡上的“刷新”按钮,即可将这些更改同步至上方的转置数据中。

(广告)使用 Kutools 只需几次单击即可完成转换区域

Kutools for Excel 的“转换区域”功能可轻松帮您将垂直列数据转置为多列,或将行数据转换为多行,反之亦然。

Kutools for Excel 的“转换区域”工具

“Kutools for Excel”包含 300 多个实用功能,助您轻松高效完成工作!立即获取为期 30 天的全功能免费试用!