如何使用Excel公式根据时间段判断指定时间属于工作时间还是非工作时间
Excel时间区间归属判定方案
需求背景
现有Excel数据需要根据预设的上下班时间,判定指定时间属于工作时间还是非工作时间:
- 指定时间落在起止时间区间内,返回Business Hours
- 其余情况返回Out Of Hours
当前使用的判定公式为:=IF(B4=MEDIAN(B2,C2,B4),"Business Hours","Out Of Hours")
相关数据参考示意图:
方案说明
现有公式有效性验证
你当前使用的MEDIAN判断逻辑完全正确,原理很简单:如果指定时间B4是「上班时间B2、下班时间C2、B4」三个值的中位数,就说明B4刚好落在两个时间的闭区间内,完全符合判定要求。
可读性更高的替代写法
如果更偏好直观的区间判断逻辑,可以替换为如下公式:=IF(AND(B4>=B2,B4<=C2),"Business Hours","Out Of Hours")
跨天班制适配方案
如果是夜班这类上下班跨天的场景(比如上班时间22:00,下班时间次日8:00),可以用如下适配公式:=IF(IF(B2<C2,AND(B4>=B2,B4<=C2),OR(B4>=B2,B4<=C2)),"Business Hours","Out Of Hours")
内容的提问来源于stack exchange,提问作者kreya
相关产品推荐
相关产品推荐

