能否结合SUMIFS与COUNTIFS?SUMIFS中嵌入除法算缺勤率可行吗?
如何用SUMIFS结合除法计算特定日期坐席的缺勤率
当然可以通过SUMIFS搭配除法来计算缺勤率!其实逻辑很简单——缺勤率是缺勤总时长与排班总时长的比值,我们只需要用两个SUMIFS分别算出这两个数值,再做除法就能得到结果,完全不需要复杂的嵌套。
假设你的数据结构是这样的:
- A列:坐席姓名
- B列:日期
- C列:排班总时长(Total Hours Scheduled)
- D列:缺勤时长(Total Hours Spent,即实际缺勤的小时数)
计算特定日期特定坐席的缺勤率公式
比如要统计2024年5月20日,坐席「张三」的缺勤率,公式可以写成:
=SUMIFS(D:D, A:A, "张三", B:B, DATE(2024,5,20)) / SUMIFS(C:C, A:A, "张三", B:B, DATE(2024,5,20))
公式拆解:
- 第一个
SUMIFS(D:D, A:A, "张三", B:B, DATE(2024,5,20)):统计符合「坐席是张三」且「日期是2024-05-20」的所有缺勤时长总和。 - 第二个
SUMIFS(C:C, A:A, "张三", B:B, DATE(2024,5,20)):统计同一条件下的排班总时长总和。 - 两者相除得到缺勤率,最后把单元格格式设置为「百分比」就能直观显示结果。
优化建议:
- 避免硬编码条件:把坐席姓名和日期放到单元格里(比如E1存姓名,F1存日期),公式改成动态引用,方便批量计算:
=SUMIFS(D:D, A:A, E1, B:B, F1) / SUMIFS(C:C, A:A, E1, B:B, F1) - 处理除数为0的情况:如果某坐席当天没有排班,除数会为0导致报错,用
IFERROR处理:=IFERROR(SUMIFS(D:D, A:A, E1, B:B, F1)/SUMIFS(C:C, A:A, E1, B:B, F1), 0)
关于COUNTIFS的补充
如果你的需求是统计缺勤次数占总排班次数的比例,那可以用COUNTIFS替代SUMIFS:
=COUNTIFS(A:A, "张三", B:B, DATE(2024,5,20), D:D, ">0") / COUNTIFS(A:A, "张三", B:B, DATE(2024,5,20))
这里假设D列大于0表示当天有缺勤记录。
内容的提问来源于stack exchange,提问作者Mhar Abellano
相关产品推荐
相关产品推荐

