大家好,上节课我们分享了TEXT()函数的简单应用,利用TEXT()函数根据身份证号码来求生日,本节课我们继续来看下面这个与身份证号码有关有函数题,请看下面工作实例:
如上图所示,员工的身份证号码已经有了,现在要根据身份证号码来求出员工的年龄,这个问题想必也是大家工作中会遇到的问题吧。想解决这个问题,就必须了解本节课要讲的一个“隐藏”函数,DATEDIF()函数,为什么说它是“隐藏”呢?Excel本身对它并没有过多的注释,甚至我们在工作表中输入它的时候,都不能像其它函数一样,出现相应的提示,或许它在Excel中还不够完善吧。不过没关系,我们照样可以用它来解决一些实际问题。我们先来看下它的语法:
DATEDIF(start_date,end_date,unit);
Start_date 为一个日期,它代表时间段内的第一个日期或起始日期(起始日期必须在1900年之后);
End_date 为一个日期,它代表时间段内的最后一个日期或结束日期;
Unit 为所需信息的返回类型,有以下几个选项:
"Y" 时间段中的整年数。
"M" 时间段中的整月数。
"D" 时间段中的天数。
"MD" 起始日期与结束日期的同月间隔天数。 忽略日期中的月份和年份。
"YD" 起始日期与结束日期的同年间隔天数。忽略日期中的年份。
"YM" 起始日期与结束日期的同年间隔月数。忽略日期中年份
注:结束日期必须大于起始日期。
这里强调一下End_date这个参数,因为日常工作中,我们接触最多的日期计算都是动态的,基本都是开始日期(即第一个日期)到当前日期的间隔,所以这个参数,我们一般都用Today()函数来替代(也就是今天),大家可以在任意一个单元格中输入=Today()后回车看下,是不是当前的日期。
那根据上图的示例,我们在E2输入如下公式E2=DATEDIF(TEXT(MID(D2,7,8),"0-00-00"),TODAY(),"y"),双击后得到如下结果:
根据上一节课我们讲的利用TEXT()函数来取得开始日期,用来作为DATEDIF()函数的第一个参数,而用TODAY()函数来取得系统当前的日期,作为DATEDIF()函数的第二个参数,而第三个参数则用y来表示,我们要取得两个时间的间隔年数。