您的位置首页百科知识

Excel罕见高招:[3]判断身份证号码真伪②

Excel罕见高招:[3]判断身份证号码真伪②

的有关信息介绍如下:

Excel罕见高招:[3]判断身份证号码真伪②

我们知道身份证号码中包含了出生日期,所以可以用检验出生年月日是否合法的方法,来初步验证身份证号码的真伪。

我们知道一代身份证号码是15位,其中第7、8位是年份(2个数字);

二代身份证号码是18位(自2004年3月29日起实行),其中第7、8、9、10位是年份(4个数字);

那么可以直接提取年份数字,判断是否合理。

我们先看如何通过Excel从身份证号码中自动提取出年份。

单元格A2中输入待验证的身份证号码,在单元格C2输入公式

=IF(LEN(A2)>15,MID(A2,7,4),19&MID(A2,7,2))

即可得到出生年份

得到年份,我们可以通过简单判断年份是否介于1900~今年。

今年年份,可以使用Excel公式:YEAR(NOW())

下面是完整公式,验证身份证号码中的年份是否合理

=IF(AND(VALUE(IF(LEN(A2)>15,MID(A2,7,4),19&MID(A2,7,2)))>=1900,VALUE(IF(LEN(A2)>15,MID(A2,7,4),19&MID(A2,7,2)))<=YEAR(NOW())),"真","假")

上面介绍了如何鉴别身份证号码中的年份真假,这里要介绍更严格的检查方法:

如何鉴别身份证号码上的日期,是否真实存在。

例如:

19950229,表示1995年2月29日,根本没有这一天!显然是不合法。

我们使用Excel中一个函数,来检查该日期是否真实。

可以使用这个公式,来检测

=TEXT(IF(LEN(A2)>15,MID(A2,7,4)&-MID(A2,11,2)&-MID(A2,13,2),19&MID(A2,7,2)&-MID(A2,9,2)&-MID(A2,11,2)),"真;;;假")

我们再结合之前判断年份是否合理的方法,完整得出这样判断公式

=IF(AND(VALUE(IF(LEN(A2)>15,MID(A2,7,4),19&MID(A2,7,2)))>=1900,VALUE(IF(LEN(A2)>15,MID(A2,7,4),19&MID(A2,7,2)))<=YEAR(NOW())),TEXT(IF(LEN(A2)>15,MID(A2,7,4)&-MID(A2,11,2)&-MID(A2,13,2),19&MID(A2,7,2)&-MID(A2,9,2)&-MID(A2,11,2)),"真;;;假"),"假")