公司内部某个部门要进行员工的工作效率的记录,但是要求通过EXCEL进行录入,最后算出综合效率,显示到另外一个表中。
条件:
1、手动录入日期、工号、品番、工时、数量。员工姓名:通过VLOOKUP找工号获得。
2、单个效率=数量/目标数。目标数:通过Vlookup找品番获得。
3、员工当天可能会有多个品番进行操作,会有多条记录,综合效率的公式=(效率A*A工时+效率B*B工时+...)/(A工时+B工时+...)
其他操作都是非常基础的操作,通过VLOOKUP等可以获取。
但是在多条记录中查找有相同特点的数据不太好实现。
只能考虑数组公式。
首先设定两组辅助公式:
都为=B3&E3 ,也就是日期+工号
最小效率公式:
=IF(K3=0,0,INDEX(INDIRECT(SMALL(IF($L$3:$L$65536=M3,ROW($3:$65536)),1)&":"&SMALL(IF($L$3:$L$65536=M3,ROW($3:$65536)),1),TRUE),0,11))
最小工时公式:
=IF(K3=0,0,INDEX(INDIRECT(SMALL(IF($L$3:$L$65536=M3,ROW($3:$65536)),1)&":"&SMALL(IF($L$3:$L$65536=M3,ROW($3:$65536)),1),TRUE),0,8))
最大效率公式:
=IF(K3=0,0,INDEX(INDIRECT(LARGE(IF($L$3:$L$65536=M3,ROW($3:$65536)),1)&":"&LARGE(IF($L$3:$L$65536=M3,ROW($3:$65536)),1),TRUE),0,11))
最大工时公式:
=IF(K3=0,0,INDEX(INDIRECT(LARGE(IF($L$3:$L$65536=M3,ROW($3:$65536)),1)&":"&LARGE(IF($L$3:$L$65536=M3,ROW($3:$65536)),1),TRUE),0,8))
由于一般情况下,单个员工一天最多操作两个品番,所以公式取一个最大值,一个最小值。如果有超过两个值的情况,请将SMALL公式的第二个参数改为1,2,3,...即可。
上面的4组为数组公式,记得录入完成后按:CTRL+SHIFT+回车
综合效率公式:
=IF(OR(N3="请假",P3="请假"),"请假",IF(N3="",P3,IF(P3="",N3,((N3*O3)+(P3*Q3))/(O3+Q3))))
将所有公式复制到下面的行即可。