You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将交叉引用表转换为行列组合的三列格式?Excel专用工具/函数咨询

如何将交叉引用表转换为行列组合的三列格式?Excel专用工具/函数咨询

嗨,我来帮你搞定这个转换需求!把交叉引用表转成「行标签+列标签+对应值」的三列格式,Excel里有好几种实用的方法,我给你拆解清楚:

方法一:Power Query(强烈推荐,适合大数据量)

这是Excel里处理这类格式转换最省心的工具,操作一次后还能重复使用:

  • 选中你的交叉表全部数据(包括表头行和最左列的行标签)
  • 切换到「数据」选项卡,点击「从表格/区域」(旧版Excel可能在「获取和转换数据」分组里找「从表格」)
  • 进入Power Query编辑器后,选中所有列标题列(就是除了最左列行标签之外的所有列)
  • 切换到「转换」选项卡,点击「逆透视列」(如果只选了部分列,就选「逆透视其他列」)
  • 这时数据已经自动变成三列了,默认列名是「属性」「值」这类,你可以双击列名改成自己需要的名称
  • 最后点击「关闭并上载」,转换好的表格就会出现在新工作表里啦

方法二:公式组合(适合小数据量,无需额外工具)

如果你的表格不大,用公式组合也能快速搞定。假设你的交叉表:

  • A列是行标签(A2:A100)
  • B1:Z1是列标题
  • B2:Z100是对应的值

可以在空白区域(比如D2、E2、F2)输入以下公式:

  • 第一列(行标签):=INDEX($A$2:$A$100,INT((ROW(D2)-2)/COLUMNS($B$1:$Z$1))+1)
  • 第二列(列标题):=INDEX($B$1:$Z$1,MOD(ROW(E2)-2,COLUMNS($B$1:$Z$1))+1)
  • 第三列(对应值):=INDEX($B$2:$Z$100,INT((ROW(F2)-2)/COLUMNS($B$1:$Z$1))+1,MOD(ROW(F2)-2,COLUMNS($B$1:$Z$1))+1)

输入完成后,选中这三个单元格一起下拉,直到出现错误值就停止,最后删掉带错误的行就完成了。

方法三:数据透视表逆透视(快捷替代方案)

如果你对透视表更熟悉,也可以用这个方法:

  • 先复制一份你的交叉表数据,避免破坏原表
  • 选中复制的数据,插入数据透视表到新工作表
  • 在透视表字段列表里,把行标签列拖到「行」区域,所有列标题拖到「列」区域,数值列拖到「值」区域
  • 右键点击透视表中的任意值单元格,选择「显示值为」→「无计算」,确保显示原始数值
  • 右键点击行标签列的单元格,选择「展开/折叠」→「展开整个字段」(如果有分组的话)
  • 最后选中整个透视表,复制后右键选择性粘贴为「值」,再整理成三列格式即可

总结一下:大数据量优先用Power Query,高效还能一键刷新;小数据量用公式或者透视表都很方便,根据你的习惯选就行~

备注:内容来源于stack exchange,提问作者M. G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 11:34:52