数据过滤后汇总
例题描述和简单分析
有Excel文件Book1.xlsx,sheet1部分数据如下所示:
… | D | E | … | O | |
1 | … | 操作人员 | … | 总价 | |
… | … | … | … | … | |
24 | … | 徐庭正 | … | 1 | |
25 | … | 徐庭正 | … | 2 | |
26 | … | 徐庭正 | … | 70 | |
27 | … | 徐福元 | 李军 | … | 80 |
28 | … | 徐福元 | 李军 | … | 132 |
… | … | … | … | … | … |
在sheet2中计算每个操作人员的总价和,要求:“徐庭正”的总价单独求和,其他n个人的总价求和除n,sheet2部分结果如下所示:
A | B | C | |
1 | 钢构准备车间-2021年7月份龙门工区工资 | ||
2 | 姓名 | 6月26日 | |
3 | 徐福元 | 工资 | 346 |
4 | 徐福元 | 工时 | |
5 | 张怀富 | 工资 | 346 |
6 | 张怀富 | 工时 | |
… | … | … | … |
15 | 徐庭正 | 工资 | 138 |
16 | 徐庭正 | 工时 | |
17 | 总计 |
解法及简要说明
Excel中加载插件ExcelRaq.xll后。
选中姓名为徐庭正、工资行对应的C15格,输入公式:=esproc("=?1.(~|?2(#)).select(~(1)==?3 || ~(2)==?3).sum(~(3))",Sheet1!D2:E54,Sheet1!O2:O54,"徐庭正")
选中C4格,输入公式:=esproc("=?1.(~|?2(#)).selectss(~(1)!=?3 && ~(2)!=?3).sum(~(3))/(?1.conj().id().select(~)\?3).len()",Sheet1!D2:E54,Sheet1!O2:O54,"徐庭正")
其他操作员的工资可直接输入公式:=C4,即可实现需求。
https://club.excelhome.net/thread-1595108-1-1.html