如何用NETWORKDAYS公式计算工单开放天数(含未完成项动态统计)
解决NETWORKDAYS未完成工单统计问题
问题本质
当G3(完成日期)为空时,NETWORKDAYS(D3,G3,L4:L16)会将结束日期默认判定为1900年的初始日期,而你的申请日期D3必然晚于该日期,因此返回负数。
正确公式
用IF函数动态切换结束日期即可解决:
=NETWORKDAYS(D3, IF(G3<>"", G3, TODAY()), L4:L16)
公式解析
IF(G3<>"", G3, TODAY()):判断完成日期是否填写。若已填写(工单完成),用G3作为结束日期;若未填写(工单未完成),自动替换为当前日期TODAY()。- 外层
NETWORKDAYS负责计算两个日期间的工作日数,同时自动排除L4:L16范围内的节假日。
原公式错误说明
NETWORKDAYS仅支持3个参数(开始日期、结束日期、节假日列表),你额外添加的第4个参数属于无效输入。FILTER(G3:G14,G3,=today)语法混乱,FILTER用于筛选区域数据,不适用于单个单元格的条件判断,且条件写法不符合Excel规则。
内容的提问来源于stack exchange,提问作者PCguy
相关产品推荐
相关产品推荐

