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

Excel多依赖日期单元格的招聘阶段时长计算公式求助

招聘流程阶段时长(TIS)计算解决方案:处理空白日期与超时识别

核心问题分析

你的公式返回异常值「44896」是因为Excel会把空白单元格当作数值0(对应日期1900/0/0),用TODAY()减去这个值就会得到超大天数。解决思路要先校验起始阶段日期是否存在,再处理结束阶段的空白(用TODAY()计算当前停留时长),同时兼容跳过中间阶段的场景。


1. 基础版:单个阶段时长计算(处理空白起始/结束日期)

针对某一阶段(比如Screen到Assessment),先判断起始日期是否为空,再计算时长:

=IF(OR([@[Date: Screen Stage]]="",[@[Date: Screen Stage]]=0), "", 
    IF(OR([@[Date: Assessment Stage]]="",[@[Date: Assessment Stage]]=0), 
        TODAY()-[@[Date: Screen Stage]], 
        [@[Date: Assessment Stage]]-[@[Date: Screen Stage]]
    )
)

逻辑说明:

  • 第一层IF:如果Screen阶段日期为空/0,返回空值(表示未进入该阶段)
  • 第二层IF:如果Assessment阶段日期为空,用当前日期减去Screen日期(计算当前停留时长);否则用Assessment日期减Screen日期

2. 进阶版:自动跳过空白中间阶段

针对招聘人员跳过中间阶段(比如从Review直接到Hire)的场景,用XLOOKUP自动找到下一个有记录的阶段日期,计算当前阶段的实际时长。以Review阶段为例:

=IF([@[Date: Review Stage]]="", "", 
    LET(
        next_stage_dates, B2:F2,  // 后续所有阶段的日期列(Screen到Hire)
        next_date, XLOOKUP(TRUE, ISNUMBER(next_stage_dates), next_stage_dates, "", 0, 1),
        duration, IF(next_date="", TODAY()-[@[Date: Review Stage]], next_date-[@[Date: Review Stage]]),
        duration
    )
)

逻辑说明:

  • LET函数简化公式,定义变量避免重复计算
  • XLOOKUP从后续阶段中找第一个非空的日期(ISNUMBER判断单元格是否为有效日期)
  • 如果找不到后续日期(候选人仍在Review阶段),用TODAY()计算当前停留时长;否则用找到的后续日期减去Review日期

3. 超时识别:标记流程耗时过久的候选人

在时长计算基础上,加入阈值判断(比如超过30天标记为超时),修改进阶版公式:

=IF([@[Date: Review Stage]]="", "", 
    LET(
        next_stage_dates, B2:F2,
        next_date, XLOOKUP(TRUE, ISNUMBER(next_stage_dates), next_stage_dates, "", 0, 1),
        duration, IF(next_date="", TODAY()-[@[Date: Review Stage]], next_date-[@[Date: Review Stage]]),
        IF(duration>30, "超时:"&duration&"天", duration&"天")
    )
)

扩展:条件格式高亮超时

选中时长列 → 条件格式 → 新建规则 → 使用公式确定要设置格式的单元格:

=AND(ISNUMBER(A2), A2>30)  // 假设时长在A列,阈值30天

设置填充色(比如红色),直观标记超时候选人。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:30:47