龙空技术网

每月分别要发几个口罩?如何用 Excel 快速计算每个月的工作日数

Excel学习世界 166

前言:

眼前兄弟们对“编写程序打印每月天数”大概比较重视,看官们都需要了解一些“编写程序打印每月天数”的相关资讯。那么小编也在网络上收集了一些关于“编写程序打印每月天数””的相关内容,希望朋友们能喜欢,小伙伴们一起来了解一下吧!

疫情期间,政府要求所有复工复产的公司每天都要给员工提供口罩等防护用品。

因为每个月的工作日天数不同,所以每月须发放的口罩数量也不同。

对于公司的采购来说,统计每月有几个工作日,从而确定口罩发放数量也是一项繁琐的事情。

有没有什么快速简便的方法,可以根据国家公布的法定节假日,快速计算出每个月共有多少个工作日?

案例:

下图 1 的 E 列是今年剩余的国定假期,此处仅列出非周末的假期,周末本来就休息,就不用列了;F 列为需要上班的周末。

请根据国定假期安排,在 C 列计算出每个月的实际工作天数,即需要发放的口罩数。效果如下图 2 所示。

解决方案:

1. 在 C2 单元格中输入以下公式 --> 下拉复制公式:

=NETWORKDAYS(A2,B2,$E$2:$E$9)+COUNTIFS($F$2:$F$4,">="&A2,$F$2:$F$4,"<="&B2)

公式的“+”前后分别使用了两个不同的函数,我们依次来解析,第一个函数 networkdays 是一个新函数,所以需要详述一下。

NETWORKDAYS 函数详解

作用:

返回参数 start_date 和 end_date 之间完整的工作日数值。

语法:

NETWORKDAYS(start_date, end_date, [holidays])

参数:

start_date:必需,开始日期end_date:必需,终止日期holidays:可选,不在工作日历中的假日;可以是包含日期的单元格区域,也可以是表示日期的序列号的数组常量。

说明:

Excel 可将日期存储为可用于计算的序列号;默认情况下,1900 年 1 月 1 日的序列号为 1,2012 年 1 月 1 日的序列号为 40909,这是因为它距 1900 年 1 月 1 日有 40909 天。如果任何参数不是有效的日期, NETWORKDAYS 将返回 #VALUE! 错误值。

公式释义:

NETWORKDAYS(A2,B2,$E$2:$E$9):计算 A2 和 B2 之间的工作日数,$E$2:$E$9 是不在日历中的公众假期,所以需要从工作日中扣除参数中的开始和终止日期需要相对引用,而 $E$2:$E$9 区域需要绝对引用COUNTIFS($F$2:$F$4,">="&A2,$F$2:$F$4,"<="&B2):统计 $F$2:$F$4 区域中大于等于 A2,且小于等于 B2 的个数,即在一个月的周期内,有几天需要额外上班。同样需要注意参数的相对和绝对引用前后两段公式结果相加,即为每个月的实际工作日数

有关 countifs 函数的详解,请参阅 Excel – 统计同时满足多个条件的单元格数,你要用几个函数?

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

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

标签: #编写程序打印每月天数 #打印每个月的天数