我每天都好忙,我除了工作,下班后我还要照顾家里的小孩。
我每天都好忙,家里买了一大堆书,连一页都没翻过。
我每天都好忙,一个Excel问题,我就要求助1小时才会有结果。
这是一个群内的年轻妈妈,其实她代表了很多人的真实写照。
忙,每个人都忙,不过作为80后、90后的你,有资格说忙得没时间学习吗?
没有!你没资格说!因为千千万万比你牛逼的人,比你更忙的人,他们都在天天学习。
读者问题:根据有效期止提前3个月设置提醒功能。
在解决这个问题之前,先了解一下日期的常识。
有效期止2018-7-24就要在2018-4-25开始提醒,现在就要想办法获取3个月前的日期。
有的人就会设置这样的公式:
=IF(TODAY()>2018-4-24,"提醒","")
这样看起来好像是对的,实际上是错的。2018-4-24放在单元格是标准日期,放在公式中就是一个表达式,相当于2018减去4再减去24等于1990。
这里教大家一个功能,公式求值。初学函数,必须懂得用的一个好功能,可以知道公式的计算过程。不断的单击求值,就可以看到公式是如何一步步执行计算。
还有的人会这样设置公式:
=IF(TODAY()>"2018-4-24","提醒","")
这样其实也是错的,用双引号就变成文本格式。
正确的表示方法有两种:
=IF(TODAY()>--"2018-4-24","提醒","")
=IF(TODAY()>DATE(2018,4,24),"提醒","")
常识普及完了进入主题,标准的日期用DATE函数表示,现在可以用YEAR、MONTH、DAY三个函数依次获取年、月、日。
=IF(TODAY()>DATE(YEAR(F3),MONTH(F3)-3,DAY(F3)),"提醒","")
这样虽然可以解决问题,不过显得比较麻烦,适合低版本的读者使用。针对高版本的读者,问题就简单很多了。可以借助EDATE函数直接获取3个月前的日期。
=IF(TODAY()>EDATE(F3,-3),"提醒","")
EDATE函数语法:
=EDATE(开始日期,之前或者之后多少个月)
第二参数为正数表示之后多少个月;负数表示之前多少个月。
在签合同的时候,经常会签12个月的,EDATE函数就派上用场。
在单元格输入公式后,一定要将单元格设置为日期格式,别忘了这个小细节。
=EDATE(A2,12)
本来到此就可以结束了,不过公式可以设置得更完善。
假设有效期止是2017年的,这样的日期早就过去了,再提醒也没意义,针对这种日期想显示空白。
这时再加一个判断即可:
=IF(AND(TODAY()>EDATE(F3,-3),TODAY()<F3),"提醒","")
推荐:9个Excel日期小常识
为什么有的人年薪30万,有的人年薪3万?老天公平吗?
作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)
联系客服