如何在EXCEL中批量将15位身份证号码变更为18位身份证号码?

请教,如何在EXCEL中批量将15位身份证号码变更为18位身份证号码?

要对一千多人的身份证号码,无限头疼啊?

首先需要知道身份证号中各个数字的含义,以18位身份证号主讲,

    前边6个数字,每2个数字一组,分别是省(自治区、直辖市)、市(盟、自治州)、县(县级市、区)的代码,

    接下来的8位数字(15位身份证是6位数字)是出生年月日(15位身份证号的年是两位数,省略了19),比如1975年6月5日出生的,这数字就是19750605(15位身份证中就是750605),

    再往后的3个数是顺序码,这3个数的最后一个数,奇数为男,偶数为女。

    最后1位是效验码(15位身份证号没有,就是为了防止身份证重号,而增设的)

总结:15位身份证号与18位身份证号的区别:

    区别一:年份少个“19”,

    区别二:最后少一个验证码。加“19”很容易,关键就在最后一个效验码的计算。

效验码是根据ISO 7604:1983.MOD11-2计算的,具体的计算规则看下图

至此可以写出身份证号升级公式了=REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(A2,7,,19),ROW($1:$17),1)*2^(18-ROW($1:$17))),11)+1,1)

上边公式中没有直接引用“加权因子”,而是使用了“2^(18-ROW($1:$17))”,用这个去乘身份证的每一个数,再求余数,结果是一样的,自己可以验证下。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-01-22

举例说明。

例如有数据表如图:

在D2输入公式:=CONCATENATE(LEFT(B2,6),19,RIGHT(B2,9),"X"),并将公式向下拖动至C4。结果如图:

第2个回答  推荐于2017-12-16
18位身份证最后一位是校验位, 不那么简单.

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位(上述公式为函数大师 阵军 的作品).

参考资料:

公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。

校验方法:
(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本回答被网友采纳
第3个回答  2015-07-22
通过身份证联网核查系统修改,里面有自动升位功能。不过只有银行或者公安局里面才有。
第4个回答  2020-04-29
可以写一段VBA程序自动完成

Excel中怎么换为18位?
首先,在工具栏的选项卡中找到DIY工具箱,然后选择“15位身份证号升18位”的功能。 接着,在弹出的对话框中,选择右侧的操作按钮,这将引导你进行下一步。 接着,定位到你需要调整的身份证号所在的区域,选中后点击确定,系统会开始处理。 完成处理后,选择新格式的18位身份证号应该存放的单元格...

如何在EXCEL中批量将15位身份证号码变更为18位身份证号码?
回答: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...

Excel中怎么将15位身份证号转换为18位?
1、在选项卡中找到”DIY工具箱“,并选择”“15位身份证号升18位”功能;2、在弹出的对话框中,选择右侧按钮;3、在弹出对话框后,选择需要调整的身份证号区域,然后点击确定;4、在弹出对话框后,点击确定;5、选择新格式身份证号需要存放的单元格,然后点击确定,15位身份证号就升级为18位了;6...

请问如何在excel 函数设置 把15位身分证号 改成18位身分证号 功课...
假设A列自A2起是身份证号(15位或18位)。1、身份证号全部改为18位,输入数组公式:=IF(LEN(A2)=15,REPLACE(A2,7,,19)&MID("10X98765432",MOD(SUM(MID(REPLACE(A2,7,,19),ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17"))),11)+1,1),A2)注意:数组公式输入方法:输入...

15位身份证号码如何转18位
1. 首先,在Excel表格中,将15位身份证号码输入到A3单元格中。2. 接着,在A3单元格的第七位数字前插入“19”,使得身份证号码变为17位。3. 然后,计算17位新号码的末位校验码,该码通常是一个数字,例如“5”。4. 最后,将修改后的17位数字和计算得到的1位校验码连接起来,形成完整的18位身份...

如何在EXCEL中批量将15位身份证号码变更为18位身份证号码?
18位身份证最后一位是校验位, 不那么简单.\\x0d\\x0a \\x0d\\x0a15位的老身份证号码插入年份即可升到17位:\\x0d\\x0a \\x0d\\x0a 例如 B2 单元格中是这个17位的号码:\\x0d\\x0a =IF(LEN(A2)=15,MID(A2,1,6)&"19"&MID(A2,7,9))\\x0d\\x0a \\x0d\\x0a那么在 C2 中...

15位身份证号码如何转18位
在进行身份证号码的升级操作时,你需要遵循以下步骤以将15位身份证转换为18位。首先,打开Excel,将需要转换的15位身份证号码输入到A3单元格中。然后,关键步骤来了,你需要在A3单元格的第七个位置,即原号码的第6位后,添加“19”,这样就变成了17位的临时号码。接着,你需要计算这个17位号码的校验...

身份证只有15位数字如何变成18位
首先,打开你的Excel程序,假设身份证号码已存储在A列的A2单元格中,且格式为15位。接着,你需要输入一个数组公式来实现位数的增加:=IF(LEN(A2)=15, REPLACE(A2, 7, '', 19) & MID("10X98765432", MOD(SUM(MID(REPLACE(A2, 7, '', 19), ROW(INDIRECT("1:17")), 1) * 2^(18 ...

excel表格的身份证号码数字怎么弄成18列
选中单元格 -> 右键点击 -> 选择“设置单元格格式” -> 切换到“文本”标签页 -> 确认。之后,在单元格中输入的身份证号码将被自动调整为18位。3. 批量设置单元格格式为文本,以便正确显示18位身份证号码。选中所有包含身份证号码的单元格 -> 右键点击 -> 选择“设置单元格格式” -> 文本类型...

excel表格中怎么将15位身份证号码全部替换成18位?
--(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列。

相似回答