首页officeexcel正文

你真的会用excel DATEDIF函数吗?为什么你算的出错了?

强国说学习2023-04-2067DATEDIF函数

Excel中求两个日期之间相隔的月数,我们通常使用DATEDIF函数来计算。

百度一下,网络上一大把的教程也是这么说的。我也曾经一度沾沾自喜,觉得自己多么能干,还知道DATEDIF这么好用的日期函数,甚至Excel帮助文档都查询不到这个函数。当经历这次惨痛的教训,或许有点明白微软为啥不公开这个函数,搞成隐藏函数,可能真的就是因为函数有些缺陷才没有公开吧。

DATEDIF函数计算日期相减得到月份数的基本语法: =DATEDIF(开始日期,结束日期,”m”),其中的参数“m”,表示计算日期之差的月数。

这个函数也不是不可以使用,只是必须注意下面细节!

1. NUM错误

文章内容来源于网络,由强国说-WPS之家(wps.qiangguoshuo.com)收集,希望能为您提供帮助。

=DATEDIF(开始日期,结束日期,"M"),结束日期必须大于开始日期。比如=DATEDIF(B1,A1,"y")就会出现报NUM!错误。

2. 提升月底天数优先级

DATEDIF函数只关注了日期的天信息,忽视了对月底信息的判断。所以我们真正在用这个函数的时候,遇到月底这种情况,就需要做优先级判断。正如案例第七行:周学的信息:2017/5/31 与 2017/6/30 都是月底,如果直接写:=DATEDIF(B7,C7,"m"),得到的结果就是错误的。

遇到日期都是月底这种情况,我们自己需要都留个心眼儿,把公式改进成:

=IF(DAY(日期+1)=1,日期+1,日期)

套进来就是:

=DATEDIF(IF(DAY(B7+1)=1,B7+1,B7),IF(DAY(C7+1)=1,C7+1,C7),"m")

这样就不会出错了。

如想转载该文章请注明出处:强国说学习-qiangguoshuo.com
强国说学习

转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!

本文链接:https://www.qiangguoshuo.com/excel/73359.html