分享

未来一周内过生日提前提醒

 刘卓学EXCEL 2021-04-02
大家好,今天来分享一个生日提醒的方法。如果未来一周内,你的亲人,朋友或者客户过生日,你希望能被提前提醒一下,好做一些准备,就能用到今天的方法。来看下完成后的效果。

下表是一些人的姓名和出生日期,假如未来一周内他们过生日,就用条件格式标出,以便提醒我们,如黄色所示。同时还要算出距离生日还有多少天,如C列所示。比如第5行的何生全的生日是4/8日,而今天是4/5号,就会用黄色提醒,并显示出距离生日还有3天。

未来一周的日期是从今天开始算起,也就是从2020/4/5到2020/4/11这7天。

我们知道,生日和年份无关,只和月份和天数有关。所以先要提取出月份和天数,然后判断生日是否在这7天内。如果在就提醒,不在就不提醒。

=TEXT(B3,"m-d")这部分用text取出出生日期的月份和天数。未来7天的日期也要提取出月份和天数才能比较。未来7天的日期是=TODAY()+ROW($1:$7)-1,也就是用今天的日期加0,1,2,3,4,5,6。提取未来7天的月份和天数,公式为=TEXT(TODAY()+ROW($1:$7)-1,"m-d"),结果为{"4-5";"4-6";"4-7";"4-8";"4-9";"4-10";"4-11"}。

下面就用出生日期的月份天数和未来7天的月份天数进行比较,公式为=TEXT(B3,"m-d")=TEXT(TODAY()+ROW($1:$7)-1,"m-d"),只要出生日期在未来7天内,就会有1个相等。最后求和就是1,否则就是0。求和公式为=SUMPRODUCT(N(TEXT(B3,"m-d")=TEXT(TODAY()+ROW($1:$7)-1,"m-d"))),如下图所示。这样就把未来7天内过生日的找出来了。

下一步只需要把上面的公式复制到条件格式中就可以了,复制前需要把B3单元格的列号固定一下,也就是加个$。选中A3:B17,点【开始】选项卡下的【条件格式】——【新建规则】——【使用公式确定要设置格式的单元格】,然后粘贴公式,设置格式,背景色为黄色,点确定,完成。

这样生日提醒就做好了,当系统日期改变后,条件格式会跟着改变。还要计算出今天距离生日还有几天。就要用今年的生日减去今天的日期,就得到了距离今年的生日还有多少天。

如何得到今年的生日呢?可以用date重新构建日期,=DATE(YEAR(NOW()),MONTH(B3),DAY(B3))。用year取出今年的年份,month和day取出出生的月份和天数。但这样公式看起来有点长。

我们还可以用text来得到今年的生日。公式为=--TEXT(B3,"m-d")。用text取出出生日期的月份和天数,虽然没有年份,但通过负负的数学运算,会给它自动加上当前系统日期的年份。

然后用今年的生日减去今天的日期就是距离今年生日的天数。公式为=TEXT(B3,"m-d")-TODAY(),因为有了减去today的数学运算,text前的负负就可以不要了。得到的结果如果是0,说明今天就是生日;如果是负数,说明今年的生日已过;如果是正数,就是距离生日的天数。

所以还要用text判断一下,公式为=TEXT(TEXT(B3,"m-d")-TODAY(),"0;生日已过;今天生日")。最后把B列的条件格式复制到C列就完成了。其实条件格式的公式也可以用C列的,只要距离生日的天数大于等于0,且小于等于6就可以了。你可以自己设置一下。

链接:
https://pan.baidu.com/s/1QXB7bigRdrUrQIaTIKiLBA
提取码:ud9p

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多