龙空技术网

任你一周休几天,仅一个 Excel 函数就能算出区间内的工作日总数

Excel学习世界 946

前言:

现在兄弟们对“打印每个月的天数”大致比较珍视,同学们都想要知道一些“打印每个月的天数”的相关资讯。那么小编在网上搜集了一些有关“打印每个月的天数””的相关知识,希望看官们能喜欢,大家快快来了解一下吧!

今天教大家计算指定时间范围内的工作日天数,会教一个新函数。

案例:

计算 2021 年 8 月和 10 月共有几个工作日,效果如下图 2 所示。

在给出答案前,我先要介绍一下今天的主角 NETWORKDAYS.INTL 函数。

NETWORKDAYS.INTL 函数详解:

作用:

NETWORKDAYS 函数虽然也能用于计算工作日,但是 NETWORKDAYS.INTL 不仅能计算两个日期之间的所有工作日数,还能使用参数指示哪些天是周末,以及有多少天是周末。周末和任何指定为假期的日期不被视为工作日。

语法:

NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])

参数:

start_date 和 end_date:必需;要计算其差值的起始和截止日期。start_date 可以早于或晚于 end_date,也可以与它相同。[weekend]:可选;表示介于 start_date 和 end_date 之间但又不包括在所有工作日数中的周末日。weekend 是一个用于指定周末日的周末数字或字符串。

以下是 weekend 每个数字的含义列表:

[holidays]:可选;一组可选的日期,表示要从工作日日历中排除的一个或多个日期。holidays 应是一个包含相关日期的单元格区域,或者是一个由表示这些日期的序列值构成的数组常量。holidays 中的日期或序列值的顺序可以是任意的。

说明:

如果 start_date 晚于 end_date,则返回值将为负数,数量将是所有工作日的数量。如果 start_date 或 end_date 不在当前日期范围内,则返回 #NUM! 错误值。如果周末字符串的长度无效或包含无效字符,则返回 #VALUE! 错误值。

解决方案:

1. 在 C2 单元格中输入以下公式:

=NETWORKDAYS.INTL(A2,B2)

公式释义:

计算参数中两个日期之间的工作日;第三个参数省略,默认为周六、日双休

这要是在从前,很多大厂奉行 996,公式就应该如下:

=NETWORKDAYS.INTL(A2,B2,11)

加了第三个参数“11”:表示仅休周日

还好国家出手了,996 违法,解救了广大劳动人民。所以还是用回原来的公式。

接下来计算 10 月的工作日,这个情况要复杂一些,因为 10 月有国庆长假,还有各种调休,所以我们先要列出 10 月的所有休息日。

2. 在 E 列列出 10 月的所有假期和休息日。

3. 在 C2 单元格输入以下公式:

=NETWORKDAYS.INTL(A3,B3,"0000000",E2:E15)

公式释义:

计算 A3 和 B3 单元格之间的工作日;"0000000":表示将一周 7 天全部设置为工作日;E2:E15:将这个区间的日期视为休息日

但我个人认为上述公式是非常不友好的,如果我都已经费劲巴拉将所有休息日列出来了,我就有一万种方法算出工作日,何必还需要动用这么高深的公式?

所以,公式用法是公式用法,在实际工作中,要学会动脑,这个案例可以这么思考:

国庆节不管怎么腾挪假期,国家总归只给 3 天假,其余都是调休;其中有一天跟 9 月的周末调,所以 10 月总共多放 3+1=4 天

因此 10 月的工作日公式为:

=NETWORKDAYS.INTL(A3,B3)-4

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

标签: #打印每个月的天数