乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 请问<em>excel</em>中怎样把15位身份证变成18位-excel 15位身份证号码转1

请问<em>excel</em>中怎样把15位身份证变成18位-excel 15位身份证号码转1

作者:乔山办公网日期:

返回目录:excel表格制作


15位的老身份证号码插入年份即可升到17位:
例如 B2 单元格中是这个17位的号码:
=IF(LEN(A2)=15,MID(A2,1,6)&19&MID(A2,7,9))
那么在 C2 中输入数组公式(公式输入后须同时按下 Ctrl+Shift+Enter 组合键方可完成):
=B2&LOOKUP(MOD(SUM(MID(B2,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位(上述公式为函数大师 阵军 的作品).
参考资料:公民身份号码是特征组合码,由十七位数e69da5e887aae799bee5baa6e997aee7ad94366字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
校验方法:(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)通过模得到对应的校验码

1、在zhidao选项卡中找到”DIY工具箱“,并选择”“15位身份证号升18位”功能;  

2、在弹出的对话框中,选择右侧按钮;  

3、在弹出对话框后,选择需要调整的身份证号区域,然后点击确定;  

4、在弹出对话框后,点击确定;  

5、选择新格式身份证号需要存放的单元格,然后点击确定,15位身份证号就升级为18位了;  

6、在弹出的对话框中点击取消,关闭功能。


假设身份证在A1单元
在B1单元格输入公
=replace(a1,7,,19)&mid("10x98765432",mod(sumproduct(mid(replace(a1,7,,19),row(1:17),1)*2^(18-row(1:17))),11)+1,1)

下拉填充公

用公式进行转化,假设数据在A列,从A2开始:zd
1、B2用公式:
=IF(LEN(A2)=15,TEXT(A2,"00000019000000000")&INDEX({1,0,"X",9,8,7,6,5,4,3,2},MOD(SUMPRODUCT(--(MID(TEXT(A2,"00000019000000000"),TRANSPOSE(ROW($1:$17)),1)*{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2})),11)+1),A2)
下拉;
2、选中B列,右击,复制B列,然后右击B1,“选择性粘贴”,在对话框中选择“数值”,把公式结果,以数值的形式粘贴回原区域;
3、删除A列。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网