为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

EXCEL中批量将15位身份证号码变更为18位身份证号码.doc

2017-10-01 2页 doc 12KB 163阅读

用户头像

is_153723

暂无简介

举报
EXCEL中批量将15位身份证号码变更为18位身份证号码.docEXCEL中批量将15位身份证号码变更为18位身份证号码.doc EXCEL中批量将15位身份证号码变更 为18位身份证号码 一、假设15位号码在C列,在D列中输入数组公式(公式输入后须同时 按下Ctrl+Shift+Enter组合键方可完成): =IF(LEN(D6)=15,REPLACE(D6,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(D6,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+...
EXCEL中批量将15位身份证号码变更为18位身份证号码.doc
EXCEL中批量将15位身份证号码变更为18位身份证号码.doc EXCEL中批量将15位身份证号码变更 为18位身份证号码 一、假设15位号码在C列,在D列中输入数组公式(公式输入后须同时 按下Ctrl+Shift+Enter组合键方可完成): =IF(LEN(D6)=15,REPLACE(D6,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(D6,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1),D6) 二、15位的老身份证号码插入年份即可升到17位,假设15位号码在C 列,在D列输入公式=IF(LEN(C6)=15,MID(C6,1,6)&"19"&MID(C6,7,9))就可以在年份前添加19。 假设17位号码在C列,在D列中输入数组公式(公式输入后须同时按下 Ctrl+Shift+Enter组合键方可完成): =C6&LOOKUP(MOD(SUM(MID(C6,ROW($1:$17),1)*MOD(2^(18-ROW($1:$17)),11)),11),{0,1,2,3,4,5,6,7,8,9,10},{1,0,"X",9,8,7,6,5,4,3,2}) 即可得到18位(上述公式为函数大师 陈军 的作品)。 参考资料: 公民身份号码是特征组合码,由十七位数字本体码和一位校验码 组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日 期码,三位数字顺序码和一位数字校验码。 校验: (1)十七位数字本体码加权求和公式 S = Sum(Ai * Wi), i = 0, … , 16 ,先对前17位数字的权求和 Ai:示第i位置上的身份证号码数字值 Wi:表示第i位置上的加权因子 Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 (2)计算模 Y = mod(S, 11) (3)通过模得到对应的校验码 Y: 0 1 2 3 4 5 6 7 8 9 10 校验码: 1 0 X 9 8 7 6 5 4 3 2
/
本文档为【EXCEL中批量将15位身份证号码变更为18位身份证号码.doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索