二维码 购物车
部落窝在线教育欢迎您!

到期日计算,EDATE甩DATE函数两条街!

 

作者:老菜鸟来源:部落窝教育发布时间:2019-05-22 11:47:35点击:6640

分享到:
0
收藏    收藏人气:3人
版权说明: 原创作品,禁止转载。

编按:

哈喽,大家好!平时我们总是需要计算各种到期时间,例如合同到期日、员工转正日期、产品有效期等等。大家普遍的做法是用DATE函数计算,但是DATE函数的计算公式实在是太繁琐了,有没有更简单的公式呢?当然是有的啦!用EDATE就行啦~

 

平时的工作中,经常会遇到计算职工转正日期、合同到期日、职工退休日期以及产品有效期截止日等等与日期有关系的问题。这些问题看似复杂,实际上只需要一个很简单的函数就能搞定,这个函数就是EDATE。今天分享EDATE函数的几个应用实例,希望对大家有所帮助。



 

实例1:计算员工转正日期




下图是某公司的新入职员工登记表,入职三个月即可转正,要根据入职日期计算出转正日期。



没有对比就没有伤害,先来看看不会EDATE函数的伙伴是怎么写公式的:


=DATE(YEAR(D3),MONTH(D3)+3,DAY(D3))



而用EDATE函数的公式是这个样子的:=EDATE(D3,3),是不是很简单?


EDATE函数只需要两个参数,开始日期和间隔月数。


公式=EDATE(D3,3)的意思就是D3单元格中的日期三个月后所对应的日期。



 

实例2:计算合同到期日




如图所示,需要根据每个人签合同的日期与合同期限,计算出对应的合同到期日,使用EDATE函数同样非常容易就能计算出结果。


公式:=EDATE(D3,E3*12)-1



与第一个例子不同的是,本例中要计算的不是3个月后的日期,而是若干年后的日期。因为EDATE只能按月进行计算,所以需要将E列中对应的年份乘以12变成月数,才能得到正确的结果。



 

实例3:计算职工退休日期




如图所示,根据性别和出生日期计算退休日期,男性满60周岁,女性满55周岁即可退休。


公式:=EDATE(C3,IF(B3="",60,55)*12)



在这个例子中,要根据性别判断退休年龄。如果为男性,退休年龄是60,退休日期就是出生日期60年之后的日期;同理,如果为女性,退休年龄是55,退休日期就是出生日期55年之后的日期。

 

首先要用IF函数判断每个人退休的年龄,IF(B3="",60,55)这部分很容易理解,若单元格B3的值等于男性返回60,否则返回55


接着使用实例2的方法,将IF函数得到的年数结果乘以12转换为月数后,再用EDATE函数得到退休日期。



 

实例4:计算产品有效期截止日




如图所示,根据每个产品的生产日期和保质期,计算出产品有效期。


公式:=EDATE(B2,IF(RIGHT(C2,1)="年",LEFT(C2,1)*12,SUBSTITUTE(C2,"个月","")*1))-1



本实例的难度在于保质期不是规范的数字,而且有年和月两种形式。下面简单分析一下IF这部分的思路。


RIGHT(C2,1)=""这部分的作用是使用RIGHT函数将C列单元格最右边一个字提取出来,判断保质期按年计算还是按月计算。如果是年的话,就用LEFT将年数提取出来再乘以12转为月数,也就是LEFT(C2,1)*12

(注:这个思路是考虑到正常情况下保质期不会有超过10年的情况,所以提取最左边的1位就是年份,如果年份有两位数的,就需要换其他思路了。)

 

如果不是按年计算的,就需要将月数提取出来。提取月数的思路有很多,本例使用了替换函数SUBSTITUTE,将单元格中的“个月”二字替换为空(相当于删除)。用SUBSTITUTE函数得到的值是文本型的,所以需在后面*1将文本数字转为数值。


最后再用EDATE函数计算出产品的保质期。

 

通过以上四个例子,大家对于这个函数的用法应该比较清楚了,重点是如何根据实际问题得到第二参数(月数),有时候可以直接使用表格中的数据,有时候需要借助其他函数才能获得需要的月数。


最后要说明的一点就是,这个月数可以是负数,表示求指定日期之前几个月的日期。


本文配套的练习课件请加入QQ群:264539405下载。

Excel高手,快速提升工作效率,部落窝教育《一周Excel直通车》视频和《Excel极速贯通班》直播课全心为你!

扫下方二维码关注公众号,可随时随地学习Excel

IMG_256

相关推荐:

SUBSTITUTE函数讲解《Excel函数经典案例:substitute函数应用

日期函数DATEDIF讲解用上DATEDIF,您永不再缺席那些重要的日子!

IF函数《IF函数:剥洋葱