Excel NETWORKDAYS函数计算工单时长结果异常求助
修正工单工作日时长计算公式
原公式的核心问题是误将NETWORKDAYS返回的「包含两端的工作日总数」当作「工作日间隔天数」,导致结果多算了1天。
修正后的公式
=MIN(INT([@[Closed Date]])-INT([@[Created Date]]),NETWORKDAYS([@[Created Date]],[@[Closed Date]],Holidays!$AF$10:$AF$25)-1)+MOD([@[Closed Date]]-[@[Created Date]],1)
关键调整说明
NETWORKDAYS(...) - 1:NETWORKDAYS默认统计从创建日到关闭日的所有工作日(含起始和结束日),这里减1后得到的是两个日期之间的有效工作日间隔天数(比如12/21到12/26,两个工作日的间隔为1天)。- 保留
MIN(...):用于处理创建日与关闭日为同一天的场景,避免出现负数结果。 - 保留
MOD(...):确保时间部分(分钟/小时)的计算不受日期调整影响。
场景验证
针对你的案例:
- 创建日12/21(周四)、关闭日12/26(周二)
- 节假日12/22、12/25,周末12/23、12/24
- NETWORKDAYS返回2(12/21、12/26两个工作日),减1后为1,加上9分钟的时间差,最终结果为1天9分钟,符合预期。
内容的提问来源于stack exchange,提问作者Nick
相关产品推荐
相关产品推荐

