Excel函数NETWORKDAYS返回错误结果,求原因解析
问题原因解析
- NETWORKDAYS的统计规则:该函数会包含起始日和结束日来计算工作日数量,且自动忽略时间部分,仅以日期的0点作为计算基准。
- 你用
DATE(YEAR(F79),MONTH(F79),DAY(F79))提取的是2023-12-27 00:00:00,TODAY()返回2023-12-28 00:00:00 - 若这两天均为工作日(非周末/节假日),函数会将两天都计入统计,因此返回结果为2。
- 你用
- TODAY()-F79的计算逻辑:这是直接计算两个时间点的间隔天数,
2023-12-28 00:00:00与2023-12-27 17:46:32的间隔不足24小时,整数天数差为0,和NETWORKDAYS的统计逻辑完全不同。
如果需要让NETWORKDAYS返回符合时间差的结果,可以直接使用F79作为起始参数(函数会自动处理时间,判断是否跨完整工作日),或者结合时间条件调整统计逻辑,比如:
=NETWORKDAYS(F79, TODAY()) - IF(MOD(F79,1)>=TIME(17,0,0),1,0)
(假设17点为工作日结束时间,若起始时间晚于该点则不计入当天)
内容的提问来源于stack exchange,提问作者Mayank Khatavkar
相关产品推荐
相关产品推荐

