Power Query中基于单元格值分组行:合并AccountsA并求和
Power Query实现指定行合并与求和方案
可视化操作步骤
- 导入数据进入Power Query编辑器
- 添加辅助分组列:点击「添加列」→「自定义列」,输入公式
if [Product] = "AccountsA" then "Group_A" else [Product],将所有AccountsA行归为同一组,其他行用自身Product值作为分组标识 - 执行分组:选中辅助列,点击「转换」→「分组依据」,设置以下规则:
- 分组依据:选择刚创建的辅助列
- 添加聚合项:
- 数值列(如
Amount):操作选「求和」,命名为Total_Amount Product列:操作选「自定义」,公式if [GroupKey] = "Group_A" then "AccountsA" else List.First([Product])Product_Type列:操作选「自定义」,公式if [GroupKey] = "Group_A" then "A" else List.First([Product_Type])
- 数值列(如
- 删除辅助列,调整列顺序完成处理
M代码实现(直接复制修改即可)
假设数据源为Source,数值列名为Amount,替换成实际对应名称:
let Source = 你的实际数据源, // 添加分组标识列 AddGroupKey = Table.AddColumn(Source, "GroupKey", each if [Product] = "AccountsA" then "Group_A" else [Product]), // 分组聚合处理 GroupedData = Table.Group(AddGroupKey, {"GroupKey"}, { {"Product", each if [GroupKey]{0} = "Group_A" then "AccountsA" else [Product]{0}}, {"Product_Type", each if [GroupKey]{0} = "Group_A" then "A" else [Product_Type]{0}}, {"Total_Amount", each List.Sum([Amount])} }), // 移除辅助列 CleanData = Table.RemoveColumns(GroupedData, {"GroupKey"}) in CleanData
说明:分组操作中完全可以使用if条件判断,通过辅助分组列区分需要合并的目标组和其他行,实现精准处理。
内容的提问来源于stack exchange,提问作者Harris92
相关产品推荐
相关产品推荐

