sql日期相减计算天数_已知2020放假日期及补班日,如何计算每月工作天数

之前给大家分享了一个根据节日自动显示节日所在的月份,下面我们再看下这个国务院办公厅公布的放假安排

a84077c434593aa183608f3b101e2ba7.png

每个节后后天,都有标识了放假的天数,那我想要知道每个月上班的天数,你知道使用Excel如何快速实现吗?

今天就给大家分享下如何快速计算每月天数

操作步骤:

1、首先我们先制作一个每月开始日期和结束日期以及工作天数的表格,如下所示:

66d05c6b695683a94d80497cbec67b9d.png

这个表格内的开始日期及结束日期制作方法,再给大家普及两个小技巧

技巧一、开始日期制作

首先我们在A2单元格输入第一个月的日期:2020/1/,然后我们选择A2:A13区域,点击【开始】-【填充】-【序列】-【列】-【日期】-【月】,即自动生成每月初始日期

2aadc2b63232f32b754751f06f7a55c0.gif

技巧二、结束日期制作

我们在B2单元格输入公式:

=EOMONTH(A2,0)

EOMONTH函数可以实现计算制定日期之前或之后的月份的最后一天

如果我们把公式改为

=EOMONTH(A2,2)

即生成3月份份的最后一天

e4a419567132c3768bea9c503faa9502.png

2、根据发布的放假安排,我小整理一份放假清单,如果有涉及到周六周日补班的情况,也要一并列出来,否则实际工作天数计算会把这些日期漏掉,最终完成如下表格:

04cdc52774e8dda4fa0b87366da5b85d.png

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)

19d55a3aa2e361a0433eeef58c4ccd51.png

CONTIFS函数实现计算多个区域满足条件的个数

然后我们在C2输入公式:

=NETWORKDAYS(A2,B2,G$2:G$28)+D2

190823be8c058d325cd25f0fcff05e68.png

可以看到所有的工作天数已经计算完成了,我们可以把D列的公式和C列的公式结合变为:

=NETWORKDAYS(A2,B2,G$2:G$28)+COUNTIFS(H$2:H$8,">="&A2,H$2:H$8,"<="&B2)

ba2396801d18d2af6c965639f62d288b.png

这样一个去除节日,去除周六周日,增加补班天数的清单就做好了,我们可以再把表格优化下,把中间的辅助计算过程删除,最终保留这样的数据就可以了

5e494c13bab08f0092a1bff22dc40c98.png

如果觉得文章对你有帮助的话,希望大家帮忙点赞加分享哦~,谢谢

本文由彩虹Excel原创,欢迎关注,带你一起长知识!

41df89c2911e67161bb43c0ed88b03f3.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值