Excel自动计算工作日(excel如何计算工作日)
问题:有两个日期,我要计算它们之间有多少个工作日,怎么办?
我们知道不同的公司有不同的作息制度,有周末双休、有单休、有各种节假日等,所以需要根据不同的情况使用不同的公式计算。
① 全年无休
全年无休,只要用DATEDIF公式计算出两个日期之间相差几天,即为几个工作日。
如果要去除节假日和周末,DATEDIF是力所不能及了,必须请出NETWORKDAYS函数和NETWORKDAYS.INTL函数。
NETWORKDAYS语法
② 周六和周日不上班。
公式“=NETWORKDAYS(日期1,日期2)”会自动用“日期2-日期1”,同时去除周六和周日,得到实际工作日天数。
③ 除了周末双休,还有法定节假日也不上班。
我们可以把“清明”、“五一”、“端午”等一系列特色节假日存放在一个表里,然后用公式“=NETWORKDAYS(日期1,日期2,节假日表)”计算扣除了休息日和节假日后的准确工作日天数。
注意,NETWORKDAYS计算出来的天数可能包含“日期1”和“日期2”哦。
另外,遇到单休工作制,或者不是周末休息的公司,那就需要NETWORKDAYS.INTL函数来计算工作日了。
NETWORKDAYS.INTL语法
和NETWORKDAYS类似,NETWORKDAYS.INTL函数多了一个参数“[周末]”,这个参数表示一周7天中哪天休息。
④ 只有周日休息。
由上面的表格,我们知道数字“11”表示“只有周日”休息,所以可以使用公式“=NETWORKDAYS.INTL(日期1,日期2,11,节假日表)”。
⑤ 周六、周日不休息,但一周仍有两天休息时间。
如果是周日和周一休息,可以使用公式:“=NETWORKDAYS.INTL(日期1,日期2,2,节假日表)”。
⑥ 周末不休息,法定节假日休息。
公式:“=NETWORKDAYS.INTL(日期1,日期2,"0000000",节假日表)”。
这是NETWORKDAYS.INTL函数的另外一种写法了,用数字“0”表示上班,数字“1”表示不上班,从周一开始,7个数字就分别表示一周7天哪天休息哪天工作。
相关阅读:《Excel时间差、日期差计算》、《WPS Excel:考勤表打卡时间转成迟到、早退和加班》。
本文由解晴新生原创,欢迎关注,带你一起长知识!