EXCEL中如提取身份证出生日期、性别等.docx

EXCEL中如提取身份证出生日期、性别等.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EXCEL中如提取身份证出生日期、性别等

EXCEL中如何提取身份证出生日期、性别、检验身份证号码的正确性(网络收集)?? 2011-09-28 18:24:12|??分类:  HYPERLINK http://498014668./blog/ \l m=0t=1c=fks_087069081087080071085085080095082095080074092084083065 \o 电脑知识 电脑知识 |??标签: HYPERLINK http://498014668./blog/ \l m=0t=3c=excel excel?? HYPERLINK http://498014668./blog/ \l m=0t=3c=复制 复制?? HYPERLINK http://498014668./blog/ \l m=0t=3c=粘贴 粘贴?? |字号大中小?订阅 EXCEL中如何提取身份证出生日期、性别、检验身份证号码的正确性 中国居民身份证号码是一组特征组合码,原为15位,现升级为18位,其编码规则为:   15位:6位数字常住户口所在县市的行政区划代码,6位数字出生日期代码,3位数字顺序码。   18位??6位数字常住户口所在县市的行政区划代码,8位数字出生日期代码,3位数字顺序码和1位检验码。   其中3位数字顺序码,是为同一地址码的同年同月同日出生人员编制的顺序号,偶数的为女性,奇数的为男性。   1、提取籍贯地区的行政区划代码(A2为身份证号,下同)   15与18位通用:=LEFT(A2,6)   如果有一个编码和省份地区的对照表,可以用VLOOKUP函数来提取地区信息。   2、提取出生日期信息    15位:=--TEXT(19MID(A2,7,6),#-00-00)   18位:=--TEXT(MID(A2,7,8),#-00-00)   15与18位通用:=--TEXT(IF(LEN(A2)=15,19,)MID(A2,7,6+IF(LEN(A2)=18,2,0)),#-00-00)   简化公式:=--TEXT((LEN(A2)=15)*19MID(A2,7,6+(LEN(A2)=18)*2),#-00-00) ??? (请将输入公式的单元格格式设置为日期格式)   3、提取性别信息   15位:=IF(MOD(RIGHT(A2),2)=1,男,女)   18位:=IF(MOD(MID(A2),17,1)=1,男,女)   15与18位通用:=IF(MOD(MID(A2,IF(LEN(A2)=15,15,17),1),2)=1,男,女)   简化公式:=IF(MOD(RIGHT(LEFT(A2,17)),2),男,女)   4、检验身份证号码的正确性   18位身份证号码的最后一位是检验码,它是根据身份证前17位数字依照规则计算出来的,其值0~9或X。一般情况只要有一位数字输入错误,依照规则计算后就会与第18位数不符。当然不排除按错误号码计算后恰好与检验码相符的情况,但这种情况出现的可能性较低。因此,对18位号码的验证采用如下公式:   =MID(10MOD(SUMPRODUCT(MID(A2,ROW(INDIRECT(1:17)),1)*2^(18-ROW(INDIRECT(1:17)))),11)+1,1)=RIGHT(A2,1)   对于15位身份证,由于没有检验码,我们只能简单地去判断出生日期代码是否是一个有效的日期,避免输入一些像“731302”或“980230“等这样不存在的日期。   =ISNUMBER(--TEXT(19MID(A2,7,6),#-00-00))   综合15位和18位后的通用公式为:   =IF(LEN(A2)=18,MID(10MOD(SUMPRODUCT(MID(A2,ROW(INDIRECT(1:17)),1)*2^(18-ROW(INDIRECT(1:17)))),11)+1,1)=RIGHT(A2),IF(LEN(A2)=15,ISNUMBER(--TEXT(19MID(A2,7,6),#-00-00))))   由于目前15位身份证号码已经很少了,如果对15位的号码不需要作进一步的判断,则公式可以简化成:   =IF(LEN(A2)=18,MID(10MOD(SUMPRODUCT(MID(A2,ROW(INDIRECT(1:17)),1)*2^(18-ROW(INDIRECT(1:17)))),11)+1,1)=RIGHT(A2),LEN(A2)=15)   将上面的公式放到B2单元格,如果结果为TRUE,则身份证号是正确的,结果为FALSE则是错误的。   你也可以将上述公式放在数据有效性中,防止录入错误的身份证

文档评论(0)

yuerang3062 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档