今天我们就着重来说说如何用Excel快速从身份证上提取出生日期、年龄、性别。
一、提取出生年月日
都知道,身份证中的第7位至第14位,共8位为出生年月日。
那么,现在要有函数公式来提取这8位的出生年月日。
公式如下:
=TEXT(MID(B2,7,8),"0000-00-00")
公式说明:
Text函数常用来将数值转化为自己想要的文本格式。
语法格式:
=Text(数据,转换后的格式)
比如:
=TEXT("/8/19","yyyy年m月"),返回的结果就是:8月。
当参数【数据】直接引用单元格的时候,就不用加引号,
如为:=TEXT(B2,"yyyy年m月")。
Mid函数用来从一个字符串中截取出指定数量的字符。
语法格式:
=MID(text, start_num, num_chars)
比如:=MID(B2,5,3)
表示被截取的字符串为B2单元格,从第5位开始向右截取3个数字。
所以,公式=TEXT(MID(B2,7,8),"0000-00-00")
先用MID函数截取B2单元格里的身份证号,从第7位开始截取8个字符,然后再用Text函数将截取出来的字符转化为出生年月日格式。
当然,身份证号提取出生年月日,也可以不用函数公式,直接用分列或是快速填充的办法也行得通。
萝卜青菜,各有所爱,看你自己喜欢用哪种办法。
二、计算年龄
身份证号里既然可以提取出生年月日,那肯定可以计算年龄大小了。
当前年份减去出生年份,就是我们的年龄大小。
公式为:
=DATEDIF(C2,TODAY(),"Y")
公式说明:
TODAY()用来获取当前系统的日期,即年月日;
DATEDIF函数用于计算两个日期之间相隔的天数、月数或年数。
语法格式:
=DATEDIF(起始日期,终止日期,间隔单位)
间隔单位可为:Y、M、D。
如:
=DATEDIF(C2,TODAY(),"Y")为计算年数差;
=DATEDIF(C2,TODAY(),"M")为计算月数差;
=DATEDIF(C2,TODAY(),"D")为计算天数差。
所以,公式:=DATEDIF(C2,TODAY(),"Y")
先用TODAY()来获取当前系统时间,然后再用DATEDIF函数来计算C2单元格里的时间跟现在当前系统时间的年数差。
三、提取性别
这里,有可能有人就会好奇了,身份证还能提取性别?
要知道身份证的第十七位,即倒数第二位为性别的代码。奇数则为男性,偶数则为女性。
用Excel函数公式提取的话,公式如下:
=IF(MOD(MID(B2,17,1),2),"男","女")
公式说明:
MOD函数是一个求余函数;
语法格式:=MOD(被除数,除数);
如:=MOD(5,3),返回的结果为2。
IF函数是条件判断函数;
语法格式:
=IF(判断条件,结果1,结果2)。
所以,公式=IF(MOD(MID(B2,17,1),2),"男","女"),
就是先用MID函数提取出身份证的第17位数字出来;再用MOD函数看其能否被2整除,来判断其奇偶性;最后结合IF函数来判断男女性别。
关于身份证的信息提取今天就先说到这里,大家有兴趣的可以去试看看。