为何Excel的NETWORKDAYS函数返回错误值?
解决Excel NETWORKDAYS函数返回错误结果的问题
错误原因分析
- 返回0的情况:NETWORKDAYS函数的核心规则是起始日期必须早于或等于结束日期,如果起始日期晚于结束日期,函数直接返回0。你使用的
=NETWORKDAYS(1/14/2023,1/2/2023)中,1月14日晚于1月2日,所以结果为0是函数的正常逻辑。 - 返回超大数值32091的情况:直接输入
1/14/2023时,Excel没有将其识别为日期,而是当作算术运算(1 ÷ 14 ÷ 2023)处理,得到一个极小的数值。这个数值对应Excel日期系统里的极早日期,远早于H13单元格的1/2/2023,因此计算工作日差时得到了超大的数字。
正确用法
要让Excel正确识别日期参数,推荐两种方式:
- 给日期添加英文双引号,以文本日期形式传入:
提示:如果你的系统日期格式为「日/月/年」,需对应调整写法为=NETWORKDAYS("1/14/2023", H13)"14/1/2023"。 - 使用DATE函数构造日期,彻底避免格式歧义:
=NETWORKDAYS(DATE(2023,1,14), H13)
如果需要计算起始日期晚于结束日期时的工作日差,可以用绝对值函数取结果:
=ABS(NETWORKDAYS("1/14/2023", "1/2/2023"))
内容的提问来源于stack exchange,提问作者OrigamiEye
相关产品推荐
相关产品推荐

