You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于日期与时间字段编写公式自动匹配对应班次?

班次匹配公式解决方案

核心逻辑

先判断日期属于工作日(周一至周五)还是周末(周六至周日),再根据时间区间匹配对应班次。以下基于Excel环境提供公式,假设:

  • A列为day字段(值为中文“周一”至“周日”)
  • B列为time字段(标准时间格式,如06:45)
  • 目标结果放在C列

基础公式(中文星期)

在C2单元格输入以下公式,下拉填充即可:

=IF(OR(A2="周一",A2="周二",A2="周三",A2="周四",A2="周五"),
    IF(AND(B2>=TIME(6,30,0),B2<TIME(15,30,0)),"班次1(06:30-15:30)",
    "班次2(15:30-01:30)"),
    IF(AND(B2>=TIME(5,30,0),B2<TIME(17,30,0)),"班次1(05:30-17:30)",
    "班次2(17:30-05:30)")
)

公式说明

  1. 工作日判断:用OR函数匹配周一至周五的中文值
  2. 时间区间匹配:
    • 工作日:时间在06:30(含)至15:30(不含)返回班次1,其余时间返回班次2
    • 周末:时间在05:30(含)至17:30(不含)返回班次1,其余时间返回班次2
  3. 跨天处理:对于00:00-01:30的时间,因不在早班区间内,会自动匹配到跨天的晚班,符合需求

进阶公式(用日期自动判断星期)

如果没有单独的day字段,只有日期列(如D列),可以用WEEKDAY函数直接提取星期(WEEKDAY(D2,2)表示周一=1、周日=7):

=IF(AND(WEEKDAY(D2,2)>=1,WEEKDAY(D2,2)<=5),
    IF(AND(B2>=TIME(6,30,0),B2<TIME(15,30,0)),"班次1(06:30-15:30)",
    "班次2(15:30-01:30)"),
    IF(AND(B2>=TIME(5,30,0),B2<TIME(17,30,0)),"班次1(05:30-17:30)",
    "班次2(17:30-05:30)")
)

注意事项

  • 确保time列是标准时间格式(不是文本),否则无法与TIME函数生成的时间值比较
  • 可根据需求修改班次名称(如将“班次1”改为“白班”)

内容的提问来源于stack exchange,提问作者Marc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 19:55:16