如何正确计算YTD应计工作日?修正现有公式的离职员工计算偏差
修正YTD应计工作日计算公式
原公式的问题在于:当员工当年入职且当年离职时,错误地从年初开始计算天数,而正确逻辑应该是从入职日到离职日的间隔天数(含首尾)。以下是修正后的公式及逻辑说明:
修正公式
=IF(D2="", MAX(MIN($I$2, TODAY()) - MAX(C2, $I$1), 0) + 1, IF(D2 < $I$1, "Resigned", MAX(D2 - MAX(C2, $I$1), 0) + 1))
逻辑拆解
1. 在职员工(D2为空)
MAX(C2, $I$1):取入职日期和**年初($I$1)**的较晚值,确保只计算YTD范围内且入职后的天数MIN($I$2, TODAY()):取当前统计截止日($I$2)和今日的较早值(若$I$2已设为当前日期可直接用$I$2)MAX(..., 0):避免出现负数(比如入职日晚于统计截止日的情况)+1:包含首尾日期(例如1月1日到1月2日算2天)
2. 已离职员工(D2不为空)
- 若离职日早于年初(
D2 < $I$1):返回"Resigned"(YTD周期内无有效工作日) - 否则:同样取入职日与年初的较晚值,用离职日减去该值,加1得到实际在职天数(含首尾)
错误场景验证
比如红色标注的「当年入职后短期离职」案例:
- 入职日C2=2024/2/1,离职日D2=2024/2/5,年初$I$1=2024/1/1
- 原公式计算:
D2-$I$1+1 = 36天(错误,从年初算到离职日) - 修正公式计算:
MAX(2024/2/5 - MAX(2024/2/1,2024/1/1),0)+1 = 5天(正确,从入职到离职的实际工作日数)
内容的提问来源于stack exchange,提问作者Cheng
相关产品推荐
相关产品推荐

