HR们经常会根据员工身份证来计算年龄、计算生日、计算出生日期等等。
很多伙伴给小雅留言,让小雅不仅给出案例的公式,更希望能够解释公式含义。
今天,小雅尝试努力给你说明白,看看伙伴们是否能有所收获哈!
Excel中根据身份证算年龄公式,HR们一定要学通学明白,因为这个实在太常用了。
C2单元格公式为:=DATEDIF(TEXT(MID(B2,7,8),"#-00-00"),TODAY(),"Y")
我们拿到一个公式,首先从里到外的分析。
第一:MID(B2,7,8) :MID是一个截取文本部分字符段的函数,它一般有三个参数,第一参数表示引用的文本或单元格,第二个表示从第几个文本字符开始截取,第三个表示截取几个,像公式中的MID(B2,7,8),表示将B2单元格的字符串从第7个字符开始截取,共取8个字符,就是:"19801003"。
第二:TEXT函数是一个返回文本类型的函数,一般由两个参数组成,第一参数是文本或文本单元格,第二参数表示文本类型,公式中MID(B2,7,8)就是text函数的第一个参数, #-00-00就是第二个参数。也就是说将MID(B2,7,8)得到的结果19801003,改变成“#-00-00”形式的文本显示:1980-10-03。
第三:函数TODAY(),是获取当天日期,如今天的日期:2017/4/5。
第四:DATEDIF函数用于计算两个日期之间的年、月、日。其语法:DATEDIF(date1,date2,code);其中date1:表示开始日期,date2:表示结束日期;code:表示返回两个日期的参数代码,若为Y,就是计算两个日期相隔的年数,若为M便是计算两个日期的月,若为D便是计算两个日期的天。小雅提醒大家,两个参数的日期不能相反,否则将会出现NUM错误,如下图所示。DATEDIF函数一二参数的日期,必须遵循第一参数的日期小,第二参数日期大,才不会出错。