使用Excel就难免会遇到与日期有关的问题。在Excel的函数中,与日期相关的已有近20个函数。
今天,要和大家分享的就是日期函数中非常实用的三个——EDATE、EOMONTH和DATEDIF。不夸张的说,掌握了这三个函数就能解决一大部分常见的日期问题,是名副其实的日期函数三剑客。
三剑客之一:EDATE函数
EDATE(start_date, months),翻译过来就是EDATE(开始日期,间隔月数)。
应用场景:计算到期日。这类问题通常指计算转正日期、合同有效期、商品保质期等等,下面用两个例子说明函数的用法。
1.已知入职日期、三个月转正、转正日期,就可以用公式=EDATE(B2,3)计算。
这个公式是最基本的用法,实际上,EDATE函数的第一参数可以使用其他的函数,第二参数可以使用负数,请看例二。
2.已知员工的司龄,如果要根据司龄和当前日期计算出该员工的入职月份,就可以用公式=EDATE(TODAY(),-B2)。
注意:如果司龄是以年为单位的,第二参数需要乘以12将年转换为月。
如果你遇到的问题涉及到开始日期和间隔月数(年数)的时候,就可以考虑使用EDATE函数了。
三剑客之二:EOMONTH函数
EOMONTH (start_date, months)
仅从函数来看,这个函数的参数与EDATE完全一样,这也是很多初学者容易混淆的地方。区别是EDATE函数可以得到指定日期之前或之后若干个月所对应的日期,而EOMONTH得到的则是指定日期之前和之后若干个月所对应的月份信息(月初日期、月末日期、当月天数)。
应用场景:EOMONTH常用于考勤表、排班表等需要自动更新日期的表格模板中。
下面用一个例子说明如何使用EOMONTH函数得到某个月的第一天、最后一天和当月天数。
问题:已知某个日期,怎么分别得到该日期所在月的第一天,最后一天和当月天数?
月初日期公式为:=EOMONTH(A2,-1)+1
首先得到指定日期前一个月的月末日期,再加1则为当月月初的日期。
月末日期公式为:=EOMONTH(A2,0)
第二参数用0可以直接得到当月的月末日期。
当月天数公式为:=DAY(EOMONTH(A2,0))
利用DAY函数得到当月最后一天是几号,也就是当月的天数。
三剑客之三:DATEDIF函数
这个函数非常特殊,你在Excel的函数列表里是找不到的,甚至连微软的帮助文件里也没有相关说明,因此这个函数也被称为隐藏函数。
函数说明:DATEDIF(起始日期,截止日期,统计方式),第三参数共有六种方式,具体功能如下图所示。
应用场景:主要用于计算两个日期之间的天数、月数或年数。
下面通过两个例子来说明函数的用法。
1.根据出生日期计算年龄
公式为:=DATEDIF(B2,TODAY(),"Y")
说明:写这篇教程的日期是2021年4月16日,因此公式中的TODAY()也就是这个日期,在实际应用中是当天日期。
2.根据入职日期计算工龄(精确到天)
如果需要得到以x年x月x天的形式显示工龄,就需要使用三个DATEDIF分别计算出年数、月数(忽略日和年)以及天数(忽略月和年),再用&进行连接得到所需结果,公式为:
=DATEDIF(D10,TODAY(),"y")&"年"&DATEDIF(D10,TODAY(),"ym")&"个月"&DATEDIF(D10,TODAY(),"md")&"天"
DATEDIF在计算两个日期之间间隔的年数、月数和天数时固然很方便,但是在使用这个函数时需要注意,开始日期必须早于结束日期,否则公式会得到错误值。
好了,三剑客的用法介绍了这么多,大家还是赶紧操练起来吧,必须要多练习才能将函数的用法融会贯通,自己也才能真的成为职场的函数剑客。
看完教程,还有疑问的伙伴,欢迎群里交流哟~
宠 粉 福 利
2元领取:全套Excel技巧视频+200套模板
点"阅读原文",学习更多的Excel视频教程