分享

Excel工作日计算时,怎样去除周末和节假日

 广汇音响 2019-08-11

问题:有两个日期,我要计算它们之间有多少个工作日,怎么办?

我们知道不同的公司有不同的作息制度,有周末双休、有单休、有各种节假日等,所以需要根据不同的情况使用不同的公式计算。

① 全年无休

全年无休,只要用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:考勤表打卡时间转成迟到、早退和加班》。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多