Excel怎么统计出每月缺勤人数,排除重复项?
统计员工考勤情况,是每个HR必会碰到的问题。如下表中:
根据左边的<缺勤登记表>统计出不同月份缺勤人数,具体要求:
同一个人在同月份里只算一次(不考虑重名情况),比如1月份里共有3人缺勤,分别为王五,李四,张三。
视频解
关键操作
在E3单元格输入公式:
=SUMPRODUCT((MONTH($A$3:$A$30)=D3)*(MATCH((MONTH($A$3:$A$30)=D3)&$B$3:$B$30,(MONTH($A$3:$A$30)=D3)&$B$3:$B$30,0)=ROW($3:$30)-2)),可算出1月缺勤人数。(公式有点长,这几行都是同一个公式!)
公式分解:
分解一:
每月缺勤表中D3:D14区域中的1月——12月单元格,设置为“通过格式“月”“份””,这样就可以直接输入数据,但显示为某某月份,而实际单元格内容又是数值,不影响后同的计算:
(可参考:EXCEL|一键添加“能计算”的数量单位)
分解二:
“MONTH($A$3:$A$30=D3)&$B$3:$B$30”
返回一组值:{TRUE王五;TRUE李四;TRUE王五;TRUE张三;TRUE李四;FALSE李四;FALSE甲一;FALSE李四;FALSE开心;FALSE李四;FALSE张三;FALSE张三;FALSE李五;FALSE王五;FALSE开心;FALSE王五;FALSE李四;FALSE开心;FALSE李四;FALSE甲一;FALSE李四;FALSE开心;FALSE李四;FALSE张三;FALSE开心;FALSE李四;FALSE张三;FALSE张三};
分解三:
“MATCH(MONTH($A$3:$A$30=D3)&$B$3:$B$30,MONTH($A$3:$A$30=D3)&$B$3:$B$30,0)=ROW($3:$39)-2”,含义在“分解二”中蓝色字体的数组中匹配出每一数值的位次,与当前实际位次是否相等,返回一组值逻辑值:{TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
分解四:
“(MONTH($A$3:$A$30)=D3”,返回一组逻辑值:{TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
总:
SOMPRODUCT函数,对“分解三”“分解四”红色字体两数逻辑值对应位置数据乘积加和,得到1月份缺勤人数。