Excel转置公式:行列互换的函数方法
用 TRANSPOSE 函数把 Excel 表格的行和列互换,并说明目标区域大小、动态数组溢出、空白单元格等常见问题的处理方法,还介绍了选择性粘贴和 PDF 表格导入两种替代做法。
很多人做表格时会遇到这样的情况:一张表的数据是按行排列的,但后面的统计或图表需要按列排列,或者反过来。手动一格一格地复制粘贴,既慢又容易错位。Excel 提供了 TRANSPOSE 函数,可以用一个公式把整块区域的行和列互换。
这篇文章写给需要调整表格方向的人,比如把月份从一行横排改成一列竖排,把问卷结果从竖表改成横表。读完后,你能知道什么时候该用转置公式,怎样算好目标区域,遇到 #SPILL! 或 0 值时该怎么处理,以及没有 Excel 时可以怎样完成同样的操作。
怎么用公式实现 Excel 行列互换?一句话结论
用 TRANSPOSE 函数,在目标区域的左上角输入 =TRANSPOSE(源区域),目标区域的行数等于源区域的列数,列数等于源区域的行数,就能得到行列互换后的结果。如果只是一次性调整、之后不再改动源数据,复制后粘贴并勾选转置更省事。
| 你的情况 | 推荐做法 | 原因 |
|---|---|---|
| 源数据之后还会修改,需要结果同步更新 | TRANSPOSE 函数 | 结果是公式,源表改动后会自动刷新 |
| 一次性整理,之后不再改源数据 | 复制后粘贴并勾选转置 | 操作快,不留公式,但结果与源表断开 |
| 旧版 Excel,不支持自动溢出 | 先选中目标区域,再用数组方式确认公式 | 旧版需要预先划定结果范围 |
| 表格在 PDF 里,没有可编辑的源文件 | 先把 PDF 表格导出为 Excel,再转置 | 转置操作只能针对 Excel 中的数据 |
| 表格含大量合并单元格 | 先取消合并并补全数据,再转置 | 合并单元格会导致区域不规则,容易报错 |
开始之前:先确认这几点
先确认源区域的形状。 转置前先数清楚源表有几行几列。比如一张 12 行 5 列的表,转置后应该是 5 行 12 列。目标区域尺寸算错,结果就会缺行或缺列。
第二,确认目标位置是空的。 转置结果会占用一整块区域。如果目标区域里已有数据,公式无法写入,会报 #SPILL! 错误。建议把结果放在一个新工作表,或者放在源表右侧或下方的空白区域。
第三,检查源表有没有合并单元格。 合并单元格会打乱行列的对应关系。转置前取消合并,把数据补到每个单元格,结果会更干净。
第四,判断 Excel 版本。 支持动态数组的新版本,在左上角输入一次公式即可自动填满整块区域。旧版本需要先选中正确大小的区域,再以数组方式确认。版本不同,操作步骤略有差别。
第五,确认表格的来源。 如果数据来自 PDF,而 PDF 中是可选中的文字或扫描件,需要先转为 Excel 格式才能转置。OmniDoc 桌面客户端(download.omnidoc.top)的 PDF 编辑器支持把 PDF 导出为 Excel,导出后再用下面的方法处理即可。扫描件导出的表格,要特别核对数字,因为识别过程可能出错。
用 TRANSPOSE 函数转置区域的步骤
- 记下源区域的范围。 例如源数据在 A1 到 E12,即 12 行 5 列。
- 选定目标位置的左上角。 在一个空白工作表中,点击 A1 作为结果的起点。目标区域应为 5 行 12 列,从 A1 延伸到 L5。
- 输入公式。 在目标左上角输入
=TRANSPOSE(Sheet1!A1:E12),把工作表名和区域换成你自己的。 - 确认输入。 新版 Excel 按回车即可,结果会自动溢出到整块区域。
- 旧版本需要数组确认。 先选中 A1 到 L5 这块 5 行 12 列的区域,输入公式后按 Ctrl+Shift+Enter,而不是普通回车。公式两边会出现花括号,表示这是一个数组公式。
- 检查结果的边界。 看一眼右下角是否正好填满,没有多出或缺少的行列。
- 需要固定结果时,可以复制后选择性粘贴为数值。 这样结果不再依赖源表,适合提交给别人或作为历史存档。
- 保存文件。 如果源表以后还会修改,保留公式版本;如果只是一次性用途,保存数值版本即可。
做完后逐项核对
| 检查项 | 怎么看 | 有问题怎么办 |
|---|---|---|
| 行列数是否正确 | 目标区域的行数应等于源区域的列数,反之亦然 | 重新数源区域,调整目标区域大小后再输入公式 |
| 是否出现 #SPILL! | 目标区域中是否有错误提示 | 清空目标区域中原有的内容,或换一个起点 |
| 空白单元格是否显示 0 | 源表中空白的地方,结果里是否出现 0 | 在源表中补上需要的内容,或在外层套用 IF 等函数处理空值 |
| 数据是否对位 | 随机抽取几个单元格,与源表对照 | 检查源区域是否包含了表头或多余的行列 |
| 源数据改动后结果是否同步 | 修改源表某个数值,观察结果是否变化 | 若不同步,说明用的是数值版本,需重新用公式生成 |
| 数字和日期格式是否保留 | 查看日期、百分比等是否显示正常 | 转置后重新设置单元格格式 |
如果转置的表格数据量较大,核对时尤其要注意数字。对于财务、医学或法律文件中的数据,建议逐项与源表比对,不要只看大致形状。
🎯 哪种做法适合你?
如果你要做持续更新的报表,比如每个月往源表里追加数据,就用 TRANSPOSE 函数。源表更新后,转置结果会跟着变化,不用反复操作。
如果你只是交一份静态表格,比如把问卷结果整理成横表发给同事,复制后粘贴并勾选转置更直接。完成后结果是数值,不会因源表误改而变化。
如果你手里只有 PDF 版本的表格,先用 OmniDoc 桌面客户端的 PDF 编辑器导出为 Excel,再按上面的方法转置。对于扫描件,导出后要仔细核对每个数字。
如果你要在不同软件之间交换表格,比如需要把 Excel 数据放进 Word 文档,可以先转置,再把结果复制过去。注意表格样式在不同软件中可能有差异,粘贴后要重新检查版式。
❓ 常见问题(FAQ)
1. 转置后的数据能不能再编辑?
用 TRANSPOSE 生成的结果是一整块公式区域,不能只改其中一个单元格,会报错。如果需要逐格编辑,先复制结果,再选择性粘贴为数值,之后就可以自由修改了。
2. 转置公式可以用于文字内容吗?
可以。TRANSPOSE 对数字、文字、日期都适用,只是它只做行列互换,不会改变内容本身。文字中的换行符和格式可能需要单独检查。
3. 为什么转置后有很多 0?
这通常是源表中有空白单元格。TRANSPOSE 会把空白当作 0 返回。可以在源表中补上内容,或者用 IF 函数把 0 转换为空白显示。
4. 能不能不用公式,直接用鼠标完成转置?
可以。先复制源区域,然后在目标位置打开粘贴选项,选择只粘贴数值或带转置功能的粘贴方式,即可完成转置。这种方法不需要记公式,但结果与源表不再关联。
5. 从 PDF 里复制的表格,转置时总是错位怎么办?
PDF 表格复制到 Excel 后,常常会出现合并单元格或多余的空列。先把数据导入一个干净的工作表,删除多余的空行空列,再进行转置。
📝 总结
Excel 行列互换的核心是先算准源区域和目标区域的大小,再用 TRANSPOSE 函数或复制粘贴的转置功能完成转置。需要持续更新时用公式,只做一次性整理时用数值粘贴,做完后逐项核对行列、空值和数字格式,就能确保表格准确无误。


