excel怎么找不到dateif函数(Excel里的隐藏函数DATEDIF)
今天来给大家讲讲DATEDIF函数,说起这个函数,80%的Excel用户都很熟悉。
毕竟,它在计算年龄、间隔时间等工作中,应用广泛。
=DATEDIF(开始日期,结束日期,返回类型)
这里第3参数有六种表示方式:
看这个表可能有点晕,我们用图示的方法来展示一下,用不同的颜色来标记时间距离。
下面我们通过一个案例,加深一下对这个函数的了解。
案例:
计算小朋友的年龄(按照“X岁X月X天"格式)。
这个公式比较长,其实它是3个部分组成的。
公式如下:
=DATEDIF(A2,TODAY(),"y")&"岁"&DATEDIF(A2,TODAY(),"ym")&"个月"&DATEDIF(A2,TODAY(),"md")&"天"
对比一下之前的示意图,是第一行的三种表示方法。
这个函数非常实用,但是,这个日期函数,却并不在Excel函数库中!
那么问题来了,如此好用却要雪藏!到底是为什么呢?
原来,函数虽好用,却自带BUG。
下面,我们来看一下这个表格,我们要计算不同的商铺租赁的整月份。
输入公式:=DATEDIF(开始日期,结束日期,"M")
这个公式应该没错呀?
为什么最后一行,明明是一个月,计算出来却是0个月呢?
这就是DATEDIF函数的BUG。
我们在计算整月份的时候,如果同时满足下面两个条件,这个BUG就会出现。
① 起止日期都是月末。比如这里的,31和30都是当月的月末。
② 开始日期的“日”的值,大于结束日期的“日”的值,比如这里,31日大于30日。
知道了BUG出现的条件,我们就可以想办法规避它。
现下,我们可以把公式调整为:
完整的公式如下:
=IF((DAY(C2 1)=1)*(DAY(C2)<DAY(B2)),DATEDIF(B2,C2,"m") 1,DATEDIF(B2,C2,"m"))
最后再啰嗦两点:
①如果结束日期是闰年的2月末的时候,可能会出现到28日就计算为一整年了,而不是29日。
②还有直接以“md”作为第三参数的时候,也会出现BUG,大家应避免用这个第三参数,改用其他函数替代。
好的,以上,就是今天的分享。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com