Power Query自动批量求和:将多列值汇总为列名-列总和新表
在Power Query中自动对loc列批量求和生成新表
方法一:使用M代码实现(灵活可控)
直接在Power Query编辑器中新建空白查询,粘贴以下代码(替换源为你实际的数据源步骤名称):
let 源 = 你的数据源名称, // 替换成当前查询中的数据源步骤名,比如"Excel.CurrentWorkbook(){[Name="表1"]}[Content]" // 筛选所有以"loc"开头的列 loc列名列表 = List.Select(Table.ColumnNames(源), each Text.StartsWith(_, "loc")), // 批量计算每列总和并生成记录 求和记录 = List.Transform(loc列名列表, (列名) => [ "loc(列名)" = 列名, "sum(列总和)" = Table.Sum(源, 列名) ]), // 将记录转换为最终表格 结果表 = Table.FromRecords(求和记录) in 结果表
代码说明
List.Select精准筛选所有loc开头的列,新增loc列时会自动识别Table.Sum计算单列总和,List.Transform实现批量遍历计算Table.FromRecords将记录列表转为标准表格
方法二:纯界面操作(无需写代码)
偏好可视化操作的话,按以下步骤执行:
- 进入Power Query编辑器,打开你的数据源查询
- 选中所有
loc开头的列:右键列标题→选择「选择列」,在弹窗中筛选包含loc的列并全选 - 切换到「转换」选项卡,点击「逆透视列」→选择「逆透视所选列」,生成
属性(原列名)和值两列 - 切换到「开始」选项卡,点击「分组依据」:
- 分组列选择
属性 - 新列名输入
sum(列总和) - 操作选择「求和」
- 列选择
值
- 分组列选择
- 右键
属性列,选择「重命名」,改为loc(列名),得到最终表格
内容的提问来源于stack exchange,提问作者Irina V.
相关产品推荐
相关产品推荐

