当仅用 NETWORKDAYS 函数来计算工作日的时候(即只过滤周末)。
公式:
=NETWORKDAYS(A3,B3)
计算结果为 4 个工作日,也就是 6 月 23 日、24 日、25 日、26 日,而 6 月 27 日和 28 日为周末则不计算进去。
PS:前提是日期为真日期。Excel 中真正的日期本质上是以数值的形式存储在单元格里的,不管你把日期的格式设置成了什么样的「外在」显示形式。
但是,我们知道 6 月 25 日和 6 月 26 日为中国的法定节假日-端午节呀,这个是不应计算进入工作日天数的。
因此,我们加入法定节假日的日期,也就是公式中的【Holidays】参数,之后就可以计算出工作日为 2 天。
=NETWORKDAYS(A3,B3,$C$17:$C$18)
但是,问题又双叒叕来了~
我们知道,6 月 28 日虽然是周末,然而现实就是我们还是要正常上班滴
这个时候,我们直接应用这个公式,显然是没有办法兼顾到这种情况的。
如何解决以上问题呢?此时,IF 条件判断函数就该登场了~
公式:
=IF(B3<>"",IF(AND(A3<=$C$20,B3>=$C$20),(NETWORKDAYS(A3,B3,$C$17:$C$19)) 1,NETWORKDAYS(A3,B3,$C$17:$C$19)),"")
▲ 左右滑动查看
我们来拆解下这个函数的运行逻辑~
这里包含了两个判断条件,每当判断条件满足时,函数就会进行下一步计算。
简单理解,当你打游戏时遇到两个关卡,每个关卡都有两个门让你选择开启;开启不同的门,接下来面临的游戏玩法就会不同。
第一个关卡:判断收货时间是否为空
选择 ❶:为空——Game Over
也就是计算结果会直接返回空,如下图所示: