excel表中if如何应用日期(你真的会用DATEDIF函数吗)

嗨,我是爱踢汪。今天本汪带着大家继续学习一下Excel的小妙招,希望大家喜欢!

领导:小张,你过来一下!

小张:糟糕,领导叫,一定没有好事儿。忐忑不安的来到领导办公室,看见这个Excel表格,果真没有好事儿。

领导:你看看,E7单元格周学的项目报酬你怎么计算的?

excel表中if如何应用日期(你真的会用DATEDIF函数吗)(1)

小张:我再看看,稍等一下,领导。

……

项目背景介绍:单位外聘了一批技术人员加入新产品研发项目,对外聘人员的支付报酬标准为:加入项目不到一个月,按照5000元的费用支付。加入项目时间达到一个月,按照8000元每月的费用支付。

见鬼,周学5月31日开始参加项目,6月30日,应该一个月了啊,怎么公式统计出来是0呢?

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

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

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

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

1. NUM错误

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

excel表中if如何应用日期(你真的会用DATEDIF函数吗)(2)

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")

这样就不会出错了。

今天的分享就到这里了。我是爱踢汪,您的关注是我坚持到现在的唯一动力,有了您的支持与鼓励,我才有信心一直坚持下去,继续奉上更多内容。衷心期待您能点一下上面红色关注按钮,关注我一下。万分感谢!

终于等到您,您的关注是我坚持到现在的唯一动力,您能关注我吗? 单选

0人 0%

支持一下,现在就点上面红色 关注

0人 0%

没有用,以后再说

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页