在Excel中如何批量恢复被错误录入的18位身份证号请高人指点

如题,在EXCEL中录入了大量的身份证号,可不小心,有一部分身份证号没有通过18位验证,如可能通过验证。

1.用TEXT函数
在“身份证号”列后插入一个空白列,单击F2单元格,输入公式“=TEXT(E2,"000000000000000")”,公式中将E2单元格的内容用指定的格式(15位“0”)替换,按回车键后,即得到了正确的身份证号。用填充柄工具将公式复制到其他单元格中
操作完成后,不能直接删除原身份证号所在的E列,否则F列数据将不能正常显示,若要对表格进行打印操作,可将E列隐藏或将F列数据选定,单击“复制”按钮,再右击鼠标选择“选择性粘贴”命令,从弹出的“选择性粘贴”对话框中选择“数值”即可,然后就可以安全地删除原身份证号所在的E列数据了。

2.修改身证号单元格的格式
选中身份证号所在的单元格区域,单击“格式”菜单中的“单元格”命令,弹出设置“单元格格式”对话框,选中“数字”选项卡“分类”列表中的“数值”,将小数位数由默认的“2”位改为“0”位,单击“确定”按钮即可
另外还可以选择“分类”中的“分数”,再选择任意一种分数类型或选择“分类”中的“特殊”,再选择“类型”中的“邮政编码”也可以。

小提示:用以上两种方法均可以成功地恢复出15位的身份证号码,相比之下,第二种方法更为简便。但遗憾的是这些方法均不能恢复18位的身份证号,原因是在原来用错误的方法录入时系统自动将末三位用“000”代替了(在Excel中超过15的数值,系统自动将超出的数值用“0”替换),所以也就无法正常恢复了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-08
楼主在造假吗???这个,本人先声明不承担任何后果啊!!!难不成是15位转18位???=IF(LEN(A1)=15,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),A1)