如何在Excel中提取身份证号码中的信息

如何在Excel中提取身份证号码中的信息

为了减少工作量,根据身份证与出生日期和性别的对应关系,设定了一个简单的公式提取。

供参考使用,实现方法:

一、提取出生日期

=IF((LEN(A1))=18,DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),DATE(MID(A1,7,2),MID(A1,9,2),MID(A1,11,2)))

1、首先判断身份证号是15位还是18位,用LEN()函数。

2、然后用MID()函数取身份证号码中对应的年月日的数据,送给DATE()函数处理得出出生日期。

二、判断性别

=IF(MOD(IF(LEN(A1)>15,MID(A1,17,1),MID(A1,15,1)),2),"男","女")

1、首先同样要判断身份证号位数,(15位号中第15位为性别判定,18位号中第17位为性别判定,18位身份证中的X表示的是对前面17位数字的校验码,该校验码可能的数字为0~10,为保证身份证号码位数,10就用罗马字符X表示了)

2、将提取出的数据用取余函数MOD()处理为1或0,对应的就是男和女了。

其他方法:
生日也可用下列公式,注意把公式所在的单元格数字格式设置为日期:
=--TEXT(MID(A1,7,6+2*(LEN(A1)=18)),"#-00-00")

判断性别,无论15/18位均可:
=IF(MOD(MID(A1,15,3),2),"男","女")
=IF(MOD(MID(A1,15+2*(LEN(A1)>15),1),2),"男","女")
=IF(MOD(RIGHT(LEFT(A1,17),2),2),"男","女")

posted @ 2010-05-17 22:56  老许  阅读(2247)  评论(0编辑  收藏  举报