Excel如何判断指定时间是否落在预设的高峰时段区间内
Excel排班高峰时段校验方案
适用场景
判断排班时间是否落在你定义的两个高峰区间:6:00-10:00、15:00-19:00
通用公式(兼容所有Excel版本)
假设排班时间存放在A列,在目标校验单元格输入如下公式,下拉填充即可批量校验:
=IF(OR(AND(MOD(A2,1)>=TIME(6,0,0),MOD(A2,1)<=TIME(10,0,0)),AND(MOD(A2,1)>=TIME(15,0,0),MOD(A2,1)<=TIME(19,0,0))),"是高峰时段","非高峰时段")
公式逻辑说明
MOD(A2,1):自动提取时间部分,哪怕单元格是带日期的时间格式也能正常识别,无需额外拆分日期和时间TIME(6,0,0):生成标准Excel时间值,避免手动输入时间格式导致的匹配错误AND函数判断时间是否落在单个高峰区间,OR函数合并两个高峰区间的判断条件,最终用IF输出对应结果
简化公式(仅适用于Excel 365/2021及以上版本)
可以用XLOOKUP区间匹配实现更精简的写法:
=IF(ISNUMBER(XLOOKUP(MOD(A2,1),{0,0.25,0.4167,0.625,0.7917},{0,1,0,1,0},,1)),"是高峰时段","非高峰时段")
注意事项
- 公式中的A2请替换为你实际存放排班时间的单元格
- 如果排班时间是文本格式,请先转换为标准时间格式:选中时间列→「数据」选项卡→「分列」→两次点击「下一步」→列数据格式选择「时间」→点击「完成」即可
内容的提问来源于stack exchange,提问作者HarshESC
相关产品推荐
相关产品推荐

