情形1:计算日期间的工作日天数。下图中,我们是计算开始日期到结束日期之间的工作日天数,同时,我们要去除D列中的日期(国假日,或者指定的特殊日期)。
NETWORKDAYS函数的语法结构是:=NETWORKDAYS(开始日期,结束日期,要去除的特殊日期)正好可以满足我们的需求。
要去除的日期,我们也可以直接写到函数公式中。日期的本质也是数值,我们选中D2单元格后,按Ctrl+1组合快捷键,设置单元格格式为:"数字">"常规",我们可以看到日期2018/4/1的本质是数字43195。写公式的过程中,要么写日期2018/4/5的时候加上前后双引号,要么直接写数字43195。
情形2:计算单休(仅周日休息)时日期间的工作日天数。我们需要使用一个新的函数:NETWORKDAYS.INTL。NETWORKDAYS.INTL函数是在NETWORKDAYS函数的第2、3个参数之间加入了1个参数。参数输入什么数字,请参考下表。
情形3:计算日期间的休息日天数。我们只需要使用结束日期减去开始日期,加上数字1,然后减去工作日天数即可。加上数字1的原因:1号到10号一共是10天,10-1=9(只有9天),所以需要补回1天。
情形4:加入时间干扰后的日期之间计算工作日天数。本例中,我们对开始时间和结束时间进行判断,早于中午12:00,归为今天,晚于中午12:00(含12:00),归为明天(加上1天)。举例:1月1号11:00为开始时间(早于12点),则开始日期为1月1号;如果1月1号13:00为开始时间(晚于12点),则开始日期为1月1号加一天,即1月2号(具体可参考下一步骤图片中的函数公式)。时间的本质也是数值,我们可以通过设置单元格格式获取,这里中午12:00的本质就是数字0.5。
我们需要先使用IF函数判定出实际要计算的开始日期和结束日期,然后使用NETWORKDAYS函数计算两个日期之间间隔的工作日天数。
如对您有帮助,请投票或点赞鼓励一下敏丝,谢谢~