分享

【Excel问伊答55】生日提醒,DATE函数提醒你,你的生日快到了!

 fzchenwl 2015-04-07

生日提醒,是行政办公文员经常要做的一件事。用表格可以方便的实现这样的需求,待某些员工的生日快到的时候,表格里自动提示自己应该为这些员工准备发蛋糕券或者计划买蛋糕啦。



比如上图那样,假设今天的日期是2013-10-9,我们设定离员工的生日小于5天的时候提醒。


一般来讲,很多用DATEDIF函数来求,在D2输入:=DATEDIF(C2,TODAY(),'yd'),其中yd是表示忽略年份,求天数(但是包含月份)。可是这个datedif函数呢,在2007版里有不少bug。在2010版本里改正了,不过依然有些小问题。


如果你是2007版本呢,用这个DATEDIF来求两个日期在忽略年情况下间隔的天数,会发现在不考虑年份的情况下,只要是出生日期大于今天的日期,计算的结果就会出错(当然两个日期之间计算,还是要年份参与的,不过此时都统一按今天日期的年份来计算)。


综上所述,靠谱一点的方法,还是用date函数来迂回实现:

1,先用date函数取得当前年份和出生日期里的月份和天数组成的新日期,然后与今天的日期相减


=DATE(YEAR(TODAY()),MONTH(C2),DAY(C2))-TODAY()


2,相减后得到的天数,用and函数判断此天数是否在0-5这个区间内


=AND(DATE(YEAR(TODAY()),MONTH(C2),DAY(C2))-TODAY()>0,DATE(YEAR(TODAY()),MONTH(C2),DAY(C2))-TODAY()<5)


3,最后用IF函数判断AND函数的结果是否为真,如果AND函数的结果为真,就提醒此人生日快到了,如果为假呢,则不作任何提示


=IF(AND(DATE(YEAR(TODAY()),MONTH(C2),DAY(C2))-TODAY()>0DATE(YEAR(TODAY()),MONTH(C2),DAY(C2))-TODAY()<5),'生日快到了!','')



--------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多