如何用Power Query替代数据透视表合并行,避免FTE重复计算?
用Power Query替代宏实现人员行合并(避免FTE重复计算)
核心步骤(确保输出格式与原透视表完全匹配,无需修改后续宏)
分组聚合(关键)
选中人员唯一标识列(如工号/姓名),点击「转换」选项卡的「分组依据」:- 分组依据:选择人员标识列
- 新增列名:
人员明细 - 操作:选择「所有行」
此步骤会把同一人员的所有数据行打包成嵌套表,避免FTE重复统计的基础。
提取唯一FTE值
添加自定义列,用M函数提取该人员的唯一FTE值(确保不重复计算):List.First(List.Distinct([人员明细][FTE]))(如果每个人员FTE本身唯一,直接用
List.First([人员明细][FTE])效率更高)合并其他关联字段(如项目、部门)
若需将同一人员的多个项目/部门合并为文本,添加自定义列用Text.Combine实现:Text.Combine(List.Distinct([人员明细][项目名称]), ", ")整理输出结构
删除人员明细嵌套列表列,调整剩余列的顺序、列名,严格匹配原宏生成透视表的列名和数据类型(比如FTE设为数值型、日期设为日期型),确保后续宏读取时无格式冲突。加载到指定区域
将处理完成的数据加载到Excel中原宏生成数据的位置,替换原透视表数据,后续宏可直接读取该区域,无需修改。
内容的提问来源于stack exchange,提问作者lljc00
相关产品推荐
相关产品推荐

