Excel跨周末日期/时间区间计算异常:周一无法获取周五午后数据
解决方案
调整区间起始/结束时间(分步版)
针对周一无法获取周五午后数据的问题,核心是根据当前星期几动态调整时间区间:
修改单元格S2(起始时间)的公式:
=IF(WEEKDAY(TODAY(),2)=1, TODAY()-3+12/24, TODAY()-1+12/24)逻辑:用
WEEKDAY(TODAY(),2)判断当前星期(参数2让周一=1、周日=7),如果是周一,起始时间设为周五12:00(今日减3天加12小时);其他日期仍保持昨日12:00。修改单元格S3(结束时间)的公式:
=IF(WEEKDAY(TODAY(),2)=1, S2+3-1/1440, S2+1-1/1440)逻辑:周一对应的结束时间是周一11:59(起始时间加3天减1分钟);其他日期仍保持今日11:59(起始时间加1天减1分钟)。
辅助列Q的公式保持不变:
=AND(G2>=$S$2,G2<=$S$3)
简化版(无需辅助单元格,Excel 365+适用)
如果使用Excel 365及以上版本,可以用LET函数把逻辑合并到Q列,减少辅助单元格:
=LET( current_weekday, WEEKDAY(TODAY(),2), start_time, IF(current_weekday=1, TODAY()-3+12/24, TODAY()-1+12/24), end_time, IF(current_weekday=1, start_time+3-1/1440, start_time+1-1/1440), AND(G2>=start_time, G2<=end_time) )
场景验证
- 周一查看:区间为周五12:00 ~ 周一11:59,包含周五午后、周六、周日的所有数据
- 周二至周五查看:区间为昨日12:00 ~ 今日11:59,保持原有逻辑
- 周末查看:周六区间为周五12:00周六11:59,周日区间为周六12:00周日11:59,符合日常需求
内容的提问来源于stack exchange,提问作者hepkat63
相关产品推荐
相关产品推荐

