之前给大家分享了如何用函数对不相邻的列实现多列组合去重。有读者说,这种需求,不是 Power Query 的强项吗?
没错,PQ 最擅长处理这类问题,那么今天我要教大家两个知识点,第一个就是隔离组合去重,第二个是在此基础上的变通,根据列出的多个字段条件,查找出所有结果并求和。
案例:
下图 1 中左边的数据表是完整的物资采购表,请根据右侧列出的条件,计算购买的总数。
效果如下图 2 所示。
解决方案:
如开篇所述,正式案例讲解前,先教大家如何对 A、C 列组合去重后,提取出唯一值。
1. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”
2. 在弹出的对话框中点击“确定”。
表格已上传至 Power Query。
3. 选择菜单栏的“主页”-->“分组依据”
4. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
选择“高级”选项
在第一个下拉菜单中选择“姓名”
点击“添加分组”--> 在新出现的下拉菜单中选择“物资”
5. 删除“计数”列。
6. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”
7. 在弹出的对话框中选择“表”--> 选择“现有工作表”及所需上传至的位置 --> 点击“加载”
绿色的表格两列组合去重后的表格。
接下来就是今天的案例,在此基础上再按多条件求和。
1. 用同样的方式将左侧的数据表上传至 Power Query --> 选择菜单栏的“主页”-->“分组依据”
2. 仿照前面步骤 4 的方式操作,需要修改的设置如下:
新列名:输入“总数”
操作:选择“求和”
柱:选择“数量”
3. 选择“主页”-->“关闭并上载”-->“关闭并上载至”
4. 在弹出的对话框中选择“仅创建连接”--> 点击“加载”
5. 将右侧的数据表也上传至 PQ。
6. 选择菜单栏的“主页”-->“合并查询”
7. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
选中“表2”中的两列
在下拉菜单中选择“表1”--> 选中“姓名”和“物资”列
8. 点开“表1”旁边的扩展钮 --> 仅勾选“总数”--> 取消勾选“使用原始列名作为前缀”--> 点击“确定”
9. 选中“总数”列 --> 删除其他列
10. 将表格上传至指定区域。
这样就实现了多条件求和。