excel计算天数公式(excel每日自动计算天数)

最近,有个小伙伴向我咨询:如何统计工作日的天数?比如:计算一个订单的处理时长;投诉的回复时长;办理证件的时长;项目的完成长;……我们总不能对着日历一个个数吧,数据少的时候还好,但是一旦数据多了,那铁定是一个灾难呀!有没有一种方法能够自动计算出来呢?并且还能...


最近,有个小伙伴向我咨询:如何统计工作日的天数?

比如:

计算一个订单的处理时长;

投诉的回复时长;

办理证件的时长;

项目的完成长;

……

我们总不能对着日历一个个数吧,数据少的时候还好,但是一旦数据多了,那铁定是一个灾难呀!


有没有一种方法能够自动计算出来呢?并且还能够兼顾到国家的法定节假日,还有因放假补回来的工作日。

你别说,真的有哦,这就是今天要为大家介绍的NETWORKDAYS函数~

NETWORKDAYS 函数

NETWORKDAYS 函数,主要是计算两个日期之间的工作日天数。

语法结构为:

同时,因为每个公司或者企业放假日期不同,所以还可以根据公司的自身需要,自定义剔除某些假期和法定假期。

语法中的 Holidays 就是干这个用的,它是可选参数。默认是不包括周末双休日,也就是说在计算天数中会自动忽略周末~

如下图,计算 2020-6-23 到 2020-6-28 之间的工作日天数。

当仅用 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

也就是计算结果会直接返回空,如下图所示:

选择 ❷:不为空——进入下一关

第二个关卡:判断收货时间是否处在 6 月 28 日这天,即调休日

选择 ❶:不包括调休日——普通计算

=NETWORKDAYS(A3,B3,$C$17:$C$19)+1

选择 ❷:包括调休日——普通计算基础上+1

=NETWORKDAYS(A3,B3,$C$17:$C$19)+1

NETWORKDAYS.INTL 函数

但是又有小伙伴问了,如果公司的周末只有周六或周日一天呢?

或者周一到周五某一天/两天为休息日呢?这个怎么处理呢?

对于这种问题,我们就要用到 NEWORKDAYS 函数的搭档NETWORKDAYS.INTL函数。

其语法结构为:

与 NETWORDKDAYS 函数最大的不同就是增加了自定义周末,周末由使用者自己决定。

因此,只需要在 Weekend 参数上填上对应的数字就可以如上面统计工作日一样啦!

Weekend 参数所对应的周末日数字如下:

如果以下参数仍没有自己想要的周末,不要绝望!

因为,这个函数为你准备了更为灵活的定义方法:

Weekend 参数也可以是:由 0 和 1 组成 7 位数字的字符串。
其中,0 代表工作日,1 代表休息日。

如,公司周二、周五和周日休息,则可使用「0100101」来表示哦!

有了这些函数,你就再也不用担心统计工作日的问题了~

知识总结

我们再来总结下,今天所学的,用于计算两个日期间隔的工作日数量的函数:

NETWORKDAYS 和 NETWORKDAYS.INTL~

❶ 查看单元格内是否为真日期;

❷ 判断是否为空单元格;

❸ 确定节假日;

❹ NETWORKDAYS(开始日期,结束日期,[公司假期]);

❺ NETWORKDAYS.INTL(开始日期,结束日期,[自定义周末],[公司假期])。


本文来自白云揉碎投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/19/599289.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 06-20
下一篇 06-20

相关推荐

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信