我以前的学生,刚接手人力资源管理,领导指示,为了表示公司对员工的关心,员工生日送祝福。这个学生想在员工人事表中设置一个提醒,提示自己提前七天预定生日礼物,询问是否有这样的公式。
公式表示如下:
公式实现
在C2单元格中输入公式:
=text (7-datedif (B2-7,today(),“yd”),“生日0天后;今天的生日”)
一定要把公式填下来,给所有员工发生日提醒。
下图:
公式分析
首先,解释一个疑点:
DATEDIF函数通过忽略年份来计算日期差异所使用的语法是:DATEDIF(开始日期,结束日期,“YD”)。为什么这个公式中DATEDIF的第一个参数数字B2-7不直接写B2的出生日期?
用例子更容易理解:
比如第一个员工的生日是2000年4月15日,作为开始日期,忽略年份(因为生日与年份无关,只有月份),日期是4月15日;结束日期为今天,2018年4月9日,忽略年份,日期为4月9日。结束日期(4月9日)减去开始日期(4月15日)不能减少,所以像减法借记一样,将“借”一年作为365天,所以返回值为359。为了避免359的结果,开始日期(4月15日)人为减少了7天(因为提前7天提醒)。这样公式写成datedif (B2-7,today(),“yd”),这个部分的返回值是1,然后用7-1,也就是还有6天庆祝生日。
然后用TEXT函数规范结果的显示方式:大于0则显示为“多几天”;如果小于0,则显示为空;如果等于0,将显示“今天的生日”。