函数名称:DATEDIF
2
函数作用
DATEDIF函数可用于返回两个日期的间隔数,可以是间隔天数,或者间隔月数,也可以是间隔年数。
3
函数语法
DATEDIF(开始日期,结束日期,间隔类型)
4
注意事项
1、DATEDIF函数是Excel函数里的隐藏函数,在帮助中是查询不到的,该函数有3个参数,均为必选参数;
2、第1、第2参数都必须为日期或表示日期的序列号,且第2参数必须大于等于第1参数,否则结果为#NUM!错误值;
3、第3参数表示计算时要返回的结果类型,主要有以下结果类型;
应用实例
实例1
下表为某公司的采购跟踪表,要求根据采购日期和付款天数,判断截止今天是否已经超期,如D列所示。
函数公式
D2单元格输入 =IF(C2-DATEDIF(B2,TODAY(),'D')>0,'','超期'),公式下拉即可
解释说明
1、根据要求首先我们要计算采购日期与今天间隔的天数,用DATEDIF函数DATEDIF(B2,TODAY(),'D'),第三参数用'D',今天用TODAY表示;
2、用付款天数减去采购日期与今天间隔的天数C2-DATEDIF(B2,TODAY(),'D'),如果是大于0则表示付款天数大于间隔天数,也就是未超期,否则就是超期;
3、最后嵌套IF进行判断。
实例2
下表为某公司部分员工的入职记录,要求计算截止今天每个员工的工龄,如C列所示。
函数公式
C2单元格输入 =DATEDIF(B2,TODAY(),'Y'),公式下拉即可
解释说明
要求计算工龄也就是需要计算间隔年数,用DATEDIF函数,今天用TODAY函数表示,第三参数用'Y'。
实例3
下表为某公司部分员工出生日期,为了给员工准备生日福利需要做一个生日提醒,如C列所示。
函数公式
C2单元格输入 =TEXT(IFERROR(DATEDIF(TODAY(),DATE(YEAR(TODAY()),MONTH(B2),DAY(B2)),'d'),DATEDIF(TODAY(),DATE(YEAR(TODAY()) 1,MONTH(B2),DAY(B2)),'d')),'距离该员工生日还有0天;;今天是该员工的生日,请及时发放生日礼物'),'今天距离你的生日还有0天;;今天是你的生日,祝你生日快乐'),公式下拉即可
解释说明
1、要求计算距离生日的天数用DATEDIF函数,首先根据出生日期取得本年生日的日期DATE(YEAR(TODAY()),MONTH(B2),DAY(B2));
2、然后DATEDIF计算当前日期TODAY与本年生日的日期间隔的天数DATEDIF(TODAY(),DATE(YEAR(TODAY()),MONTH(B2),DAY(B2)),'d');
3、如果上面计算结果为#NUM!错误值,则表示该员工今年的生日已经过了,那么就要计算今天TODAY与明年生日DATE(YEAR(TODAY()) 1,MONTH(B2),DAY(B2))的间隔日期;
4、用IFERROR函数对两个DATEDIF函数进行嵌套,当计算今天与今年生日间隔天数为错误值时,则计算今天与明年生日的间隔天数;
5、用TEXT函数对大于0的天数提示生日间隔提示,对等于0的天数提示生日到了,TEXT函数格式“正数;负数;0;文本”。
实例4
下表为某公司部分员入职日期,公司统一给员工加薪,每个员工入职超过3个月可加薪100元,入职超过半年到1年的可加
薪300元,其后每增加一年加50元,加薪幅度不能超过500元,要求计算每个人的加薪金额,如C列所示。
函数公式
C2单元格输入 =MIN(LOOKUP(DATEDIF(B2,TODAY(),'M'),{0,0;3,100;6,300;12,300}) MAX((DATEDIF(B2,TODAY(),'Y')-1)*50,0),500),公式下拉即可
解释说明
1、先根据入职日期计算每个员工的工龄(月数)DATEDIF(B2,TODAY(),'M');
2、用LOOKUP函数判断工龄所属的加薪区间LOOKUP(DATEDIF(B2,TODAY(),'M'),{0,0;3,100;6,300;12,300});
3、计算每个员工大于1年的部分的年数然后乘以50,为防止负数用MAX函数与0比较取最大值MAX((DATEDIF(B2,TODAY(),'Y')-1)
*50,0);
4、由于要求加薪幅度不能超过500,所以需要用MIN函数将500与加薪幅度做比较取最小值。
每日一歌
萧敬腾-《会痛的石头》
我们是两颗会痛的石头,猛烈冲撞后裂了缝
永远都不会懂什么叫认错,还想爱却调头放手
联系客服