如何统计Excel月历中员工固定时段的排班次数?
解决Excel排班次数统计问题
你的公式错误在于COUNTIFS的两个条件针对了同一个区域,逻辑上要求单元格同时等于时间值和员工姓名,这显然不符合数据结构,所以无法得到正确结果。以下是两种对应不同数据场景的解决方法:
方法1:时段按列拆分的排班表(最常见结构)
如果月历是行=日期,列=时段(比如B列对应9:00、C列对应12:00、D列对应13:00、E列对应13:30,单元格内仅填写员工姓名):
- 统计P6员工在9:00时段的排班次数,直接用
COUNTIF针对对应时段的列:=COUNTIF(B4:B39, P6) - 统计其他时段只需替换对应的列区域(比如C4:C39对应12:00)。
方法2:单单元格包含多时段信息的排班表
如果每个日期单元格内同时记录多个时段的排班(比如内容格式为9:00:张三;12:00:李四):
- 统计P6员工在9:00时段的次数,用带通配符的
COUNTIF匹配包含指定时段+员工名的单元格:=COUNTIF(A4:N39, "*9:00:"&P6&"*") - 若格式是
张三 9:00,调整通配符位置即可:=COUNTIF(A4:N39, "*"&P6&" 9:00*") - 也可用
SUMPRODUCT实现相同逻辑,兼容性更好:=SUMPRODUCT(--(ISNUMBER(SEARCH("9:00:"&P6, A4:N39))))
批量统计所有时段的技巧
如果要一次性统计P6员工在4个时段的总次数,可嵌套SUM:
=SUM(COUNTIF(A4:N39, "*"&P6&" "&{"9:00","12:00","13:00","13:30"}&"*"))
旧版Excel输入后按Ctrl+Shift+Enter,新版Excel直接回车即可。
内容的提问来源于stack exchange,提问作者Lake Country
相关产品推荐
相关产品推荐

