office教程office教程

office办公学习网
office办公学习网(www.168361.com)是自己整理的一些文章,用于自己学习office使用,如果侵犯了您的版权,请联系我们删除。网站包含office/word/wps等使用技巧大全全集,office百科全书

HR必看!设置员工生日提醒

 

在提到日期计算时,几乎所有的Excel图书中都会提到一个隐藏函数——DATEDIF。
这个函数的确挺好用,但令人奇怪的是,这居然是个隐藏函数,你甚至在Excel的帮助信息里也找不到它。
这个函数是用来计算两个日期之间的间隔时间的,它的语法是:
DATEDIF(start_date,end_date,unit)
翻译成普通话就是:
DATEDIF(开始日期,结束日期,返回参数)
第三参数有Y、M、D、YM、YD、MD六种,返回的内容大致如下图所示。


特别注意,第二个参数的日期必须大于第一个参数的日期。也就是结束日期要大于开始日期的,否则的话,Excel就晕了。

举个例子吧:
开始日期是2011年3月3日,结束日期是2014年5月15日,下面这张表显示了各个参数的不同意义:


好了,根据这个函数的特性,我们就可以设置员工生日提醒了。

假如你们公司在员工生日当天会送礼物啥的,你得提前去购买。因此你希望在员工信息表里能设置一个提醒,这时你就可以借助这个函数来处理。
所谓生日,必须包含月和日,而包含月和日的第三参数只有;yd;,因此,这里就是用这家伙。

但是可不可以用下面的公式来计算两个日期之间的间隔呢?
=DATEDIF(出生日期,TODAY(),"yd")
比如今天8月5日,员工出生日期是1980年8月13日,用上面这个公式返回结果是357天。

对于这种情况,可以做个小小的处理,假设我们希望提前10天提醒,就这么处理:;出生日期;-10。
公式为:
=DATEDIF(出生日期-10,TODAY(),"yd")
该公式返回的结果是2,也就是说这两个日期实际差了10-2=8天。
好了,现在可以来设置提醒了。

下面是模拟的员工档案表,D4单元格的公式为:
=TEXT(10-DATEDIF(C4-10,TODAY(),"yd"),"还有0天生日;;今天生日")


咱们以前学习过TEXT函数的用法,这里把DATEDIF函数的计算结果作为TEXT函数的参数。

"还有0天生日;;今天生日"的意思是:
DATEDIF函数的计算结果大于0的,显示为;还有N天生日;;
小于0的不显示;
等于0的显示为;今天生日;。

由于DATEDIF函数第二参数在使用;YD;时有特殊的计算规则,因此当结束日期是3月份时,计算结果可能会出现一天的误差。
如需得到精确结果,可以使用以下数组公式完成,还记得吗,数组公式要按输入哦。
{=TEXT(IFERROR(MATCH(TEXT(C2,"mmdd"),TEXT(NOW()+ROW($1:$11)-1,"mmdd"),)-1,-1),"还有0天生日;;今天生日")}
公式中的C2就是出生日期所在单元格。
公式的主要思路是先构造从今天开始连续的10个日期所组成的一个数组,然后用MATCH函数在这个数组中查找B2单元格的生日日期是否存在。
公式有点小复杂,这里咱们就不再进行详细的解释了,表亲们只要会套用即可。

本文链接:http://168361.com/excel/780.html

版权声明:内容均来源于互联网 如有侵权联系删除

最后编辑于:2016-02-25作者: excel教程

利用通配符将Excel中英文字母、中文、数字提取出来
通过excel2010设置三色刻度条件格式