网站首页 说明书大全 范文大全 知识大全 实用查询
首页 > 知识大全 > 电脑知识 >

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


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

比如:

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

投诉的回复时长;

办理证件的时长;

项目的完成长;

……

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


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

你别说,真的有哦,这就是今天要为大家介绍的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)

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

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

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

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

选择 ❶:为空——Game Over

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

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(开始日期,结束日期,[自定义周末],[公司假期])。


相关文章