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

分配任务前核查导师可用时间:跨午夜时段Excel公式失效问题

导师课程时段有效性核查问题

我需要核查导师被安排的课程时段是否存在早于其登录时间,或晚于其登出时间的情况。

(注:原问题附带Excel表格截图,展示了课程时段、登录/登出时间的列对应关系)

目前我使用了以下Excel公式,但跨午夜的时段无法正常计算:

=IF(OR(AND(HOUR(G2)<HOUR(AE2), HOUR(K2)>HOUR(AE2)),  AND(HOUR(G2)=HOUR(AD2), MINUTE(G2)<MINUTE(AD2)),   AND(HOUR(K2)=HOUR(AE2), MINUTE(K2)>MINUTE(AE2))),    "Not Available", "Available")

问题原因

原公式通过拆分HOUR()和MINUTE()判断时间,忽略了跨午夜时的日期逻辑(比如登出时间是次日凌晨,数值上小于登录时间),同时仅处理了小时相等时的分钟对比,小时不等的早/晚情况未覆盖。

解决方案公式

直接利用Excel时间的数值特性,分跨午夜和不跨午夜两种情况判断:

=IF(OR(
    AND(AE2>=AD2, OR(G2<AD2, K2>AE2)),
    AND(AE2<AD2, AND(G2<AD2, K2>AE2))
), "Not Available", "Available")

公式逻辑

  • 不跨午夜(登出≥登录):只要课程开始早于登录时间,或课程结束晚于登出时间,标记为Not Available
  • 跨午夜(登出<登录):仅当课程完全不在导师可用区间(既早于登录时间,又晚于登出时间)时,标记为Not Available;其余情况(课程落在登录到24:00、00:00到登出之间)均标记为Available

更直观的总分钟数写法

如果需要更清晰的时间对比,可将时间转换为当日总分钟数:

=LET(
    课程开始分钟, HOUR(G2)*60+MINUTE(G2),
    课程结束分钟, HOUR(K2)*60+MINUTE(K2),
    登录分钟, HOUR(AD2)*60+MINUTE(AD2),
    登出分钟, HOUR(AE2)*60+MINUTE(AE2),
    IF(
        OR(
            AND(登出分钟>=登录分钟, OR(课程开始分钟<登录分钟, 课程结束分钟>登出分钟)),
            AND(登出分钟<登录分钟, AND(课程开始分钟<登录分钟, 课程结束分钟>登出分钟))
        ),
        "Not Available",
        "Available"
    )
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 16:44:53