目前,我国的身份证号分为两种,一种为15位, 一种为18位。在15位的老版身份证中,第7到12位为出生日期数,最后一位为性别代码,偶数为女,奇数为男。18位的新身份证中第7到14位为出生日期数,倒数第2位为性别代码,同样偶数为女,奇数为男。
基于这个特点,我们可以用函数加以判断。如图1是我们已输入完身份证号的职工信息表,在输入身份证号时需注意,要把单元格格式设为文本型,或在所输身份证号前加一个单引号“'”。
图1
1、提取出生日期
在D2中输入公式“=IF(LEN(C2)=15,TEXT(MID(C2,7,6),"1900年00月00日"),TEXT(MID(C2,7,8),"00年00月00日"))”,拖动填充柄向下复制公式,这样就完成了出生日期的提取(如图2):
图2
2、提取性别信息
在E2中输入公式“=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女")”,拖动填充柄向下复制公式,这样就完成了性别信息的提取(如图3):
图3 本文图片来自金山
公式详解:LEN是长度函数,MID是提取字符函数,TEXT是转换格式函数,MOD是整除函数,IF是判断函数。提取出生日期公式的意思是如果身份证号为15位,把从第7位起的6个字符转换为"1900年00月00日"的格式,否则(即为18位身份 证),把从第7位起的8个字符转换为"00年00月00日"的格式。提取性别信息公式的意思是如果身份证号为15位,把第15位和2整除,如果整除,显示为女,不能整除,显示为男;身份证号为18位,把第15位和2整除,如果整除,显示为女,不能整除,显示为男。另外,如果想把出生日期转换为真正的日期类型,只需在公式中在TEXT前加两个减号,这是减负运算,然后根据需要设置单元格具体的日期类型。
以上只是在身份证录入正确的情况下设置的,如果身份证号录入错误,如位数不对,日期信息不对(如月分数超过了12,日数出现2月有31号的情况),怎么办呢?还是留给大家思考吧!