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

Power Query中如何将工作表内多组表格合并为单个结构化表格

Power Query 按日期行拆分数据并转置为独立日期列操作方案

操作步骤

  • 首先为导入的原始表添加从1开始的索引列,用于定位第14行的首个拆分点
  • 添加自定义列,编写判断逻辑识别日期行:若当前行索引为14,或指定列(你存储日期的列)符合日期格式/为日期类型,返回当前行的日期值,否则返回null
  • 对新增的自定义列执行填充向下操作,使每个日期段下的所有业务行都带上对应所属的日期标识
  • 筛选删除原始的日期标题行,仅保留下方的业务数据行
  • 选中所有需要保留的业务数据列,按日期标识列分组,分组操作选择「所有行」
  • 为分组结果添加自定义列,将每个分组下的表重命名为对应日期值,再合并所有分组表即可得到每个日期独立成列、对应数据展示在列下的最终效果

示例M代码参考

let
    源 = Excel.CurrentWorkbook(){[Name="你的导入表名"]}[Content],
    添加索引 = Table.AddIndexColumn(源, "索引", 1, 1, Int64.Type),
    识别日期行 = Table.AddColumn(添加索引, "日期分组", each if [索引] = 14 or Value.Is([你存放日期的列名], type date) then [你存放日期的列名] else null),
    向下填充日期 = Table.FillDown(识别日期行,{"日期分组"}),
    移除日期标题行 = Table.SelectRows(向下填充日期, each not Value.Is([你存放日期的列名], type date)),
    按日期分组 = Table.Group(移除日期标题行, {"日期分组"}, {{"内容", each _, type table}}),
    转置为列 = Table.SplitColumn(Table.Transpose(Table.SelectColumns(按日期分组,{"内容"})), "Column1", each Table.Column(_, "你要展示的业务列名"))
in
    转置为列

注:代码中所有带中文占位符的部分需要替换为你实际的表名、列名,日期行的判断逻辑也可以根据你实际的日期格式规则调整,不需要完全依赖固定行号。

内容的提问来源于stack exchange,提问作者Dan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 05:48:01