之前给大家分享了一个根据节日自动显示节日所在的月份,下面我们再看下这个国务院办公厅公布的放假安排
每个节后后天,都有标识了放假的天数,那我想要知道每个月上班的天数,你知道使用Excel如何快速实现吗?
今天就给大家分享下如何快速计算每月天数
操作步骤:
1、首先我们先制作一个每月开始日期和结束日期以及工作天数的表格,如下所示:
这个表格内的开始日期及结束日期制作方法,再给大家普及两个小技巧
技巧一、开始日期制作
首先我们在A2单元格输入第一个月的日期:2020/1/,然后我们选择A2:A13区域,点击【开始】-【填充】-【序列】-【列】-【日期】-【月】,即自动生成每月初始日期
技巧二、结束日期制作
我们在B2单元格输入公式:
=EOMONTH(A2,0)
EOMONTH函数可以实现计算制定日期之前或之后的月份的最后一天
如果我们把公式改为
=EOMONTH(A2,2)
即生成3月份份的最后一天
2、根据发布的放假安排,我小整理一份放假清单,如果有涉及到周六周日补班的情况,也要一并列出来,否则实际工作天数计算会把这些日期漏掉,最终完成如下表格:
3、准备工作完成,下面就要开始计算工作日期了,如果看过我们之前的文章
Workday系列,强大的日期函数,你值得拥有
计算两个日期之间的工作天数,我们可以使用NETWORKDAYS函数
NETWORKDAYS(start_date,end_date,[holidays])
其中Start_date必需代表开始日期,End_date必需代表结束日期,不含周末及节假日的天数
Holidays可选,是一个可选列表,包含需要从工作日历中排除的一个或多个日期
看上面的放假补班表,我们可以看到补班日期分布在不同的月份,所以我们可以先计算出补班日期对应的月份有几天,可以使用COUNTIFS函数
在D2输入公式:
=COUNTIFS(H$2:H$8,">="&A2,H$2:H$8,"<="&B2)
CONTIFS函数实现计算多个区域满足条件的个数
然后我们在C2输入公式:
=NETWORKDAYS(A2,B2,G$2:G$28)+D2
可以看到所有的工作天数已经计算完成了,我们可以把D列的公式和C列的公式结合变为:
=NETWORKDAYS(A2,B2,G$2:G$28)+COUNTIFS(H$2:H$8,">="&A2,H$2:H$8,"<="&B2)
这样一个去除节日,去除周六周日,增加补班天数的清单就做好了,我们可以再把表格优化下,把中间的辅助计算过程删除,最终保留这样的数据就可以了
如果觉得文章对你有帮助的话,希望大家帮忙点赞加分享哦~,谢谢
本文由彩虹Excel原创,欢迎关注,带你一起长知识!
更多内容,请关注"彩虹Excel",谢谢~~