怎样15位身份证号码转换成18位号码.doc

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
怎样15位身份证号码转换成18位号码? 2009-06-10 16:43 第十八位数字(校验码)的计算方法为: ???????? 1.将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 ???????? 2.将这17位数字和系数相乘的结果相加。 ???????? 3.用加出来和除以11,看余数是多少? ???????? 4.余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字。其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2。 ???????? 5.通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2。 15位身份证号码转换成18位的,方法为: {=IF(LEN(A2)=15,REPLACE(A2,7,,"19")&IF(LEN(A2)=15,MID("10,MOD(SUM(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),""),A2)}  按 CTRL+SHIFT+ENTER结束输入! 1、在年份前加“19”,升级到17位: =IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10,MOD(SUM(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2) 2、把17位数变为17个数(选其中一种情况): =IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10,MOD(SUM(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2) =IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10,MOD(SUM(MID("11022619290815224",ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2) 3、这是系数,规定的17个数: =IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10,MOD(SUM({"1";"1";"0";"2";"2";"6";"1";"9";"2";"9";"0";"8";"1";"5";"2";"2";"4"}*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),A2) 4、两个数组的元素一一对应相乘: =IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10,MOD(SUM({"1";"1";"0";"2";"2";"6";"1";"9";"2";"9";"0";"8";"1";"5";"2";"2";"4"}*{131072;65536;32768;16384;8192;4096;2048;1024;512;256;128;64;32;16;8;4;2}),11)+1,1),A2) 5、把相乘的结果求和: =IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10,MOD(SUM({131072;65536;0;32768;16384;24576;2048;9216;1024;2304;0;512;32;80;16;8;8}),11)+1,1),A2) 6、除以11,返回余数,再加1。得到的结果是1-11中的一个数,用来作位数。 =IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10,MOD(285584,11)+1,1),A2) 7、返回指定位数上的数: =IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10,3,1),A2) 8、把17位和最后一位连接起来: =IF(LEN(A2)=15,REPLACE(A2,7,,19)&"X",A2) 9、如果原号码为15位,则取新号码。 =IF(LEN(A2)=15,,A2)

文档评论(0)

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

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

1亿VIP精品文档

相关文档