日期减法_两个日期相隔的天数,你能快速知道吗?

日常工作中,我们常会遇到要算两个日期之间的天数,例如春节放假日期(2021年2月12日)距离今天(2020年4月25日)的天数。如果去翻日历,数日历来计算,这样的效率太低了,而且还会出错。

今天跟大家分享几个好的方法,让你快速,准确地算出两个日期之间相隔的天数。

(Days与Days360,Date,Datedif ,Networkdays,Networkdays.intl 函数)

f0036fdc1d26c51e125654aa4cc90a19.png

一.日期直接相减法

在excel中,两个日期直接相减,即可得到两个日期间隔的天数。

两日期格式数值相减,结束日期-开始日期,即可。

d56d2e467e0592233b9402587cacec14.png

二.Days函数与Days360函数

(1)Days函数

Days有两个参数,第一个是结束日期,第二个是开始日期。(顺序不要搞反)

语法结构:Days(end_date, start_date)公式:= Days(结束日期,开始日期) 

可以直接计算出两个日期间相隔的天数。

注意事项:

  1. end_date和start_date是必需的,可以手动输入,或者是引用单元格。

2.使用插入公式菜单输入时,如果直接输入日期格式函数会将格式识别为公式进行计算。

建议输入日期使用date函数。

(此处很遗憾,我的笔记本里面竟然没有这个函数,不知道是不是excel版本问题。所以无法举例)

(2)Days360函数(常用)

Days360是按照一年360天(每月30天)来计算两个日期之间相隔的天数,是一些借贷中常用的计算方式。年龄,工龄计算时,特别好用。记得与Days函数的区别。

语法结构:Days360(start_date,end_date ,method)公式:=Days360(起始日期,结束日期,采用的方法)    

Days360函数:第一个参数是开始日期,第二个参数是结束日期,第三个我们一般省略掉。

参数:

  1. start_date表示起始日期,end_date表示终止日期。

2.method是一个逻辑值,表示规定了计算中是采用美国方法还是欧洲方法:

若为False或者省略,则表示使用美国方法;若为True,则表示使用欧洲方法。

美国方法: 如果起始日期是一个月的最后一天,则等于同月的 30 号。

如果终止日期是一个月的最后一天,并且起始日期早于 30 号,

则终止日期等于下一个月的 1 号,否则,终止日期等于本月的 30 号。

欧洲方法:如果起始日期和终止日期为某月的 31 号,则等于当月的 30 号。

在平时的工作中,我们根据实际需要选择不同方式。

b4148985dc010e54b8dc28a5b5f09c20.png

三. Date函数

函数是Date,返回代表特定日期的序列号,它的语法为:Date(年,月,日)。

只求两个日期相隔的天数时,没有其他函数方便,但是对于求相隔几个月几天的这种比较好用。

cdf104b27dfec584f2c0f9c0089f00ae.png

四. Datedif函数(常用)

Datedif 函数,它是Excel隐藏函数,常用于计算两个日期之间的相隔天数、月数或年数。

它可以根据参数的不同, 返回两个日期之间的年/月/日的间隔数,应用比较广泛。

语法结构:Datedif (start_date,end_date,unit)公式:=Datedif (开始日期,结束日期,“期间数类型”)

期间数类型:分别是“Y”、“M”、“D”,不区分大小写。

“Y”表示整年数;“M”表示整月数;“D”表示天数。

“MD" : start_date 与 end_date 之间天数之差。

"YM" : start_date 与 end_date 之间月份之差。

"YD" : start_date 与 end_date 的日期部分之差。

注意第3个参数一定要加英文状态下的双引号哦!

计算日期相隔多少年、月、日:

相隔年数公式:=Datedif (开始日期,结束日期,“Y”)

相隔月数公式:=Datedif (开始日期,结束日期,"M")

相隔天数公式:=Datedif (开始日期,结束日期,"D")

c71fe4b4bbaa6629e135f8ece9056c91.png
62ae7ae856aa2d86f66caf757aa1138e.png
a49d677be85072ade0237ee907fcbd99.png

五.Networkdays函数(常用)

Networkdays用于返回两个日期之间工作日的天数(除周六,周日及节假日)。

功能:返回两个日期之间,完整的工作日数。

语法:Networkdays (start_date,end_date,[holidays])

公式: =Networkdays( 起始日期, 终止日期, [需要排除的节日假日期] )

db52f2656add4a23235969c2ac8a86fe.png

实例:

(1)计算"两个日期之间的工作天数",直接写入公式=Networkdays(A2,B2),这里Networkdays函数会自动去掉周末,只计算工作日,不考虑节假日;第三参数省略,表示没有节假日。

f2ab1b08e0672dd31baf890909ab1044.png

(2)我们可以填写Networkdays的第三个参数,除去"元旦",即写=Networkdays(A2,B2,E2)

a5470386878bca6ca383b7d415de00c2.png

六、Networkdays.intl 函数

此部分已经在之前讲过了。所以就简单陈述一下。

Networkdays.intl 函数是Networkdays函数的延伸,比 Networkdays 只多了一个自定义参数weekend。它可以完成Networkdays函数所能完成的所有计算。

在自定义周末和假期的情况下,要用Networkdays.intl 计算指定起始日期和指定结束日期之间的工作日。

通俗理解就是,一周7天,我们任意选择时间作为周末,在此基础上扣除假期,计算工作日。

功能:计算时间段内(自定义周末和假期)工作日的天数。

语法:Networkdays.intl (start_date, end_date, [weekend], [holidays])

公式: = Networkdays.intl (起始日期,终止日期,[自定义周末参数],[需要排除的节假日日期])

09111ce5f714df696975a37b443f3369.png

总结,在求两个日期相隔的天数时,建议使用Days360函数和Datedif函数。

在求两个日期相隔的工作日天数时,建议使用Networkdays函数和Networkdays.intl 函数。

在求两个日期相隔的年份,月份时,Datedif函数更好用。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值