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

基于PowerQuery M语言实现多表头行的批量逆透视

解决多行表头逆透视并保留表头为新列的方案

不用写自定义M代码,用Power Query内置可视化操作就能搞定,步骤如下:

假设你的原表格结构为:

第一行:Version(Actuals、Plan等)
第二行:Year(FY20、FY21等)
第三行:Date(具体日期)
第四行及以后:Country、Owner和对应数据列

步骤1:导入数据并设置复合表头

  • 将数据导入Power Query(Excel中选「数据」→「从表格/区域」,勾选「我的表格有标题」后进入编辑器)。
  • 选中前3行(点击行号1,按住Shift点击行号3),右键→「将行作为标题」→「将多行作为标题」。此时每列标题会变成Actuals|FY20|2020/01/01这类复合格式(默认分隔符为竖线)。

步骤2:逆透视非标识列

  • 选中Country和Owner列(按住Ctrl点击列名),右键→「逆透视其他列」。操作后会生成Attribute(复合表头内容)和Value(对应数据值)两列。

步骤3:拆分复合表头为独立列

  • 选中Attribute列,点击「转换」选项卡→「拆分列」→「按分隔符」。
  • 选择分隔符为「竖线」,选择「拆分为列」后确定。此时Attribute会拆分为3个新列,将它们重命名为Version、Year、Date。

步骤4:整理数据类型

  • 点击Value列名旁的类型图标,设置为「小数」或「整数」;点击Date列的类型图标,设置为「日期」类型。

最终调整

  • 调整列顺序为Country、Owner、Version、Year、Date、Value,删除冗余列(如果有)。
  • 关闭Power Query编辑器,加载数据即可得到目标结构。

如果你的表头行数不是3行,只需对应调整「将多行作为标题」的选中行数即可,核心逻辑是先合并多行表头为复合列名,再逆透视,最后拆分复合列名。

内容的提问来源于stack exchange,提问作者Martim On Fire

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 08:49:58