java 计算两个日期之间的天数_Workday系列,强大的日期函数,你值得拥有

​ 不知道大家在工作中有没有遇到过这种情况

每个月月底了,领导就会让我们统计员工的出勤天数


见过很多的人的做法就是拿着日历表,看着一月的总天数,然后再去除周六周日休息,然后再减去国假,每月统计起来,头都大了几圈

最后统计出来的可能还是错的。。。

今天专门给大家介绍几个计算日期及工作天数的函数,让你轻松完成日期/工作天数的计算

01

Workday,计算XX天后的日期

比如我们有个活动,10天后开始,当我们想要计算几天后的具体日期的时候,这时用到的就是Workday函数了

WORKDAY(start_date, days, [holidays])

其中Start_date必需代表开始日期,Days必需代表start_date 之前或之后不含周末及节假日的天数

注意:Days 为正时将生成未来日期;为负值生成过去日期。

Holidays可选,是一个可选列表,包含需要从工作日历中排除的一个或多个日期


比如我们计算下面表格的完成日期,即可以在D2单元格输入公式:

=WORKDAY(B2,C2)

e816988b0a7b98b1627e918a2fa337c8.png

从上面我们可以看出,项目A从7/3日开始工作5天,完成日期在7/10,主要是因为去除了周六和周日

如果我们想去除国庆的假期,比如项目E,要怎么做呢,我们可以把D2的公式改为:

=WORKDAY(B2,C2,$G$2:$G$8)

c0e86f07e29210c95104699282605d20.gif

我们可以看出,项目E的完成日期已经去除国庆的假日了

02

Workday.Intl,指定单休的工作天数的日期

在上面的数据中我们是计算去除国假的日期,工作时间默认的是周一到周五,如果我们想着,以后每周工作6天,只有周末休息,那要怎么计算完成日期呢?

这时我们可以使用Workday.Intl函数

函数定义:

WORKDAYS.INTL(start_date,days,[weekend],[holidays])

和Workdays函数的区别在于,Workday.Intl函数增加了一个Weekend的选项

这个代表什么意思呢?

实际实验发现,当我们进行输入此位数的时候,会跳出如下选项:

ed00e96fdb2dbad60169c7aac34f33d1.png

什么意思呢?当我们选择1的时候,代表周六周日正常休息,选择6,代表周四和周五休息

如果我们想每周只周末休息一天,此时我们需要选择的就是11

所以我们只要在D2输入公式:

=WORKDAY.INTL(B2,C2,11,$G$2:$G$8)

503ff57e2bf371a74bebc9a999bd2beb.gif

即实现了去除国假,去除周末休息,一周工作6天的完成日期。

03

NetWorkdays,两个日期之间的工作天数

比如突然有天老板给你下命令了,这个项目必须在XX日期完成,那我们具体的能工作多少天,要怎么计算

NETWORKDAYS(start_date,end_date,[holidays])

其中Start_date必需代表开始日期,End_date必需代表结束日期,不含周末及节假日的天数

Holidays可选,是一个可选列表,包含需要从工作日历中排除的一个或多个日期

比如我们计算下面表格的工作天数,我们可以在D2单元格输入公式:

=NETWORKDAYS(B2,C2)

429f42fe4352440efeebb9b5536430e9.png

函数计算时,默认的是周六和周日不算入工作时间

如果我们想要加入固定假期的话,就可以更改D2的公式改为:

=WORKDAY(B2,C2,$G$2:$G$8)

8daf472478000a16c7bb87abd6078097.gif

明显可以看出,项目E的完成日期已经是已经去除国庆的假日后的工作天数了

04

NetWorkdays.Intl,指定单休的两日期间工作天数

和Workday.Intl类似,当我们想要计算两个日期间,去除固定假期,再去除周日休息的工作天数有多少怎么计算呢?

这时我们使用的是NetWorkdays.Intl函数,用法和Workday.Intl函数类似

NETWORKDAYS.INTL(start_date,end_day,[weekend],[holidays])
同样的当我们输入第3个参数的时候,会跳出下拉选项,选择需要休息的日期

2d6143024c3c70b5ec0c38fa4129988b.png

所以,如果我们想只有周日和国假休息,我们的函数只要改为:

=NETWORKDAYS.INTL(B2,C2,11,$G$2:$G$8)

1f23a66cfaaf10f8fb0aaa70dd7128f7.gif

我们可以看出,项目E在去除周日和国假的休息后,实际的工作天数只有4天

05

总结

1、Workday :计算XX天后的日期

2、Workday.Intl:计算XX天后,去除国假,去除固定休息后的日期

3、NetWorkdays : 计算两个日期之间的工作天数

4、NetWorkdays.Intl:计算两个日期间,去除国假,去除固定休息后的工作天数

这些强大的计算日期的函数你学会了吗?

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

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

87c47ea7395485cd7ef6464da7e20622.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值