excel计算天数公式excel每日自动计算天数excel如何自动计算天数公式




excel计算天数公式excel每日自动计算天数excel如何自动计算天数公式

2022-07-20 19:38:37 网络知识 官方管理员


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

比如:

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

投诉的回复时长;

办理证件的时长;

项目的完成长;

……

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


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

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

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

NETWORKDAYS函数

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

语法结构为:

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

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

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

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

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

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

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

但是,问题又双叒叕来了~

我们知道,6月28日虽然是周末,然而现实就是我们还是要正常上班滴

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

这个时候,我们直接应用这个公式,显然是没有办法兼顾到这种情况的。

如何解决以上问题呢?此时,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)),"")

▲左右滑动查看

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

我们来拆解下这个函数的运行逻辑~

这里包含了两个判断条件,每当判断条件满足时,函数就会进行下一步计算。

简单理解,当你打游戏时遇到两个关卡,每个关卡都有两个门让你选择开启;开启不同的门,接下来面临的游戏玩法就会不同。

第一个关卡:判断收货时间是否为空

选择❶:为空——GameOver

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

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

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

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

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

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

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

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

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

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

NETWORKDAYS.INTL函数

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

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

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

其语法结构为:

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

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

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

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

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

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

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

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

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

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

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

知识总结

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

NETWORKDAYS和NETWORKDAYS.INTL~

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

❷判断是否为空单元格;

❸确定节假日;

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

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


发表评论:

最近发表
网站分类
标签列表