数据过滤后汇总
例题描述和简单分析
有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