首页 > Excel专区 > Excel函数 >

excel神秘而强大的隐藏函数datedif函数,升职加薪系列

Excel函数 2023-01-08

excel中有个隐藏函数datediff,神秘而强大,对于计算年龄、工龄非常的有用,同样制作员工的生日提醒也可以使用到。因为datedif是隐藏函数,所以在单元格中,输入=后以后,并不会出现只能提示,这一点需要注意,我们先来看下datedif函数的语法。

语法: DATEDIF(开始日期,结束日期,格式)

第三个参数,格式有6种。

"Y" ,表示计算两个日期之间间隔的整年数

"M" ,表示计算两个日期之间间隔的整月数

"D" ,表示计算两个日期之间间隔的整天数(其实就是相隔的天数)

"YM" ,表示计算两个日期之间间隔的整月数,但是要忽略年份

"YD" ,表示计算两个日期之间间隔的整天数,但是要忽略年份

"MD" ,表示计算两个日期之间间隔的整天数,但是要忽略月份(年份的存在其实已经没意义,所以年份也被迫被忽略掉)

以下呢,就是第三个参数选择不同时返回的结果。

excel:神秘而强大的隐藏函数datedif,升职加薪系列

我们主要来讲解下 ym ,yd,md 这个三个参数,因为这三个参数比较让人挠头,很多人朋友一知半解。

ym,计算月数,忽略年,所以就是计算9月10和11月13日之间相差的月,所以为2个月

yd,计算整天数,忽略年,所以就是计算9月10和11月13日之间相差了多少天,9月10号到9月30号为20天,10月整月为31天,加上11月的13天,所以为64天

md,计算天数,忽略年和月,所以就是10号到13号是多少天,13-10=3,所以为3天。

案例1,生日提醒

excel:神秘而强大的隐藏函数datedif,升职加薪系列

函数解读:=10-DATEDIF(B2-10,TODAY(),"yd")

为什么要减去10呢,今天是11月13日,如果一个人生日是12月10日,那么是12月10日开始到下面的11月13日,天数为338天,显然不合理。我们再看这个日期1995-11-10出生的人再减去10天后,和当前日期做比较,是13天,当实际上这个人生日已过,实际应该是3天,所以再用10--DATEDIF(B2-10,TODAY(),"yd") 是-3天,也就是说负数代表生日已过。这个地方容易想不通,大家可以边做边思考下。

=TEXT(D2,"0天后生日;;生日") 这个公式的含义 第二个参数"0天后生日;;生日"分为三段,0天后生日 空值 生日

如果D2>0 显示0天后生日,0是个通配符,代表D2的数字

如果D2<0 显示的为空值

如果D2=0 显示最后一段

案例2:计算年龄

excel:神秘而强大的隐藏函数datedif,升职加薪系列

函数解读:=INT(DATEDIF(B2,TODAY(),"D")/365)

DATEDIF(B2,TODAY(),"D") 为计算两个日期相差的天数,计算出天数以后除以每天365填,取得的就是年龄,然后通过int函数取整。

案例3:计算工龄

excel:神秘而强大的隐藏函数datedif,升职加薪系列

公式解读:=INT(DATEDIF(B2,TODAY(),"d")/365)

先求出天数,然后除以每天365天,再用int函数取整,获取工龄。


Copyright © 2016-2023 office学习教程网 office.tqzw.net.cn. All Rights Reserved.