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

Power Query:基于两列添加索引的方法失效,寻求解决方案

Power Query 按Account+Quantity组合生成组内索引的正确方法

原步骤失效的核心问题是分组时没正确保留所有行数据,导致后续索引无法对应到原行。按以下步骤操作即可解决:

  • 选中Account和Quantity两列,点击开始选项卡的「分组依据」
  • 在分组对话框里切换到高级模式:
    • 分组列保留Account和Quantity
    • 添加聚合列,名称设为「明细行」,操作选择「所有行」,确定后会生成包含原行数据的嵌套表格
  • 添加自定义列,输入公式给每个嵌套表格生成从1开始的索引:Table.AddIndexColumn([明细行], "组内索引", 1, 1)
  • 点击新生成的「带索引的明细」列的展开按钮,选择需要保留的所有列(可取消「使用原始列名作为前缀」避免重复列名)
  • 最后删除多余的「明细行」列,按需调整列顺序

如果想直接用M代码,假设你的数据源是名为表1的Excel表,替换对应列名后即可使用:

let
    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    按组合分组 = Table.Group(源, {"Account", "Quantity"}, {{"明细行", each _, type table}}),
    组内加索引 = Table.AddColumn(按组合分组, "带索引明细", each Table.AddIndexColumn([明细行], "组内索引", 1, 1)),
    展开所有列 = Table.ExpandTableColumn(组内加索引, "带索引明细", Table.ColumnNames([明细行]) & {"组内索引"}),
    删除冗余列 = Table.RemoveColumns(展开所有列,{"明细行"})
in
    删除冗余列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 11:15:58