在日常办公中,经常遇到需要计算两个日期之间的工作日有多少天,笨一点的方法就是对着日历一天一天数,可是遇到比较多的天数呢?这时候就需要用到 excel 函数啦!
1. 打开如下的表格,需要计算两个不同日期之间有多少个工作日;
2. 在 C2 单元格里面输入公式 =NETWORKDAYS(A2,B2),回车确定即可看到结果,即从 7 月 1 日到 7 月 10 日一共 7 个工作日,双击填充公式,可看到 C 列所有结果。
对比右边的日历可以看出,7 月 1 日到 7 月 10 日一共有三个周末,这些非工作的周末已经被自动排除了,下面详细解释下这个公式的意思:
3. 工作日计算公式 =NETWORKDAYS(A2,B2) 中,第一个参数表示开始日期即 7 月 1 日,第二个参数表示结束日期即 7 月 10 日。如果有特定日期需要排除,还可以在公式里面输入第三个参数。
比如 7 月 5 日为公司特殊休息日,不算在工作日中。首先可以将这些特定日期在 D 列单独输入,公式修改为 =NETWORKDAYS(A2,B2,D2) 即可,这样就在原来的 7 个工作日中减去了特定一天变为 6 个工作日,如下图所示。
当然也可以将这一年的法定节假日(注意是调整后不是周末的日期)减去,比如 10 月 1 日正好是周六,有可能调整为 9 月 30 日休息,那么特殊休息日中就应该是 9 月 30 日了。
注意:
由于函数的返回结果会默认减去周末,所以如果第三个参数是周末,函数是不会重复减去的。
4. 我们也可以利用 NETWORKDAYS 函数来计算指定时间段内的周末天数:
在 D2 中录入公式
=B2-A2-NETWORKDAYS(A2,B2)+1
函数返回 3,说明 7 月 1 日到 7 月 10 日之间有 3 个双休日。
这个公式的含义是用总天数减去工作日,就得到双休日。因为 B2-A2 的值比实际天数少一天,所以要加上 1。万一你遇到统计周末天数的问题,不妨试试这个公式,超好用哦!
通过以上讲解,可以看到这个函数在统计工作日相关问题上为我们带来的便利,不过也有一个问题,如果不是周六周日休息,该怎么办?相信这是大部分人资和财务面对的问题。
不用怕!在 Excel 2010 版就有了一个升级版的工作日函数:NETWORKDAYS.INTL,函数有点长,估计能记住的人没多少人,这不要紧,只要记得是 net 开头的,在 Excel 中会有提示:
我们注意到这个函数是使用 “ 自定义周末 ” 来确定工作日天数的,之前的 NETWORKDAYS 函数的周末是无法修改的(必须是周六、周日),凭借这一点区别,让 NETWORKDAYS.INTL 函数具有了更加灵活广泛的应用。
还是看上面的那个例子,公式修改为:=NETWORKDAYS.INTL(A2,B2,11),在输入第三个参数的时候,会出现提示:
这就是让我们来选择哪天休息,如果仅星期天休息的话,选择 11 就好了,完成公式输入后,结果为:
工作天数就由原来的 7 天变成了 8 天,周六也算成工作日了。
(只有周日休息,虽然有点悲催,不过好多人都是这样的有木有~~~)
这个函数里最有用的就是第三个参数了,一共有 17 种选项:
如果提供的 17 种休息日都不符合实际情况,还可以自己指定休息日。在第三参数中输入 7 位数字,第一位数字代表周一,最后一位代表周日,每个位置上只能写 0 和 1,0 代表上班,1 代表休息。如果只有周二休息,自定义参数就是 0100000。(注意:自定义参数需要用英文的引号括起来)
和第一个函数一样,如果一个月里有一两天特殊休假需要扣除,就直接写在第四参数的位置。
原文链接:https://office.tqzw.net.cn/excel/excelhanshu/25769.html