用公式进行转化,假设数据在A列,从A2开始:
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列。
前提是你的新身份证号码有了吗?如果有了你直接把那一列替换就行了。如果没有,那你如果想在年前面加上19年,这样也不够位数呀,所以关键还是你的新18位身份证信息的来源。
你另一个表格里有部分人员的18位身份证信息,最好是带名字的,但名字可能有重复的,如果没有重复的就更好,看公式
=VLOOKUP(B2,Sheet3!b:c,2,FALSE)
B2表示在本表的B列第2个单元格开始,sheet3!b:c表示的是另一个信息更全的表格的名称(sheet3是表格名)和所查找单元格的内容,这里的b:c表示在sheet3的表里查找b、c列的内容。2,这个2表示在sheet3表格里找到对应的关键词后,回显的sheet3的第几个值,这个值可以更改。False,表示未找到后返回的值。
可以将希望替换的进去的身份证号(新号码),提取前部分,用mid(a1,1,6)&mid(a1,9,6)函数(区位代码+出生年月日)(年为两位)实现,
将希望被替换的进去的身份证号(旧号码),提取部分,用mid(a1,1,12)函数(区位代码+出生年月日)(年为两位)实现,
然后用vlookup()函数查找对应的新号码就很简单了
=REPLACE(a1,7,,19)&b1
假设15位身份证在A列,验证码在B列,因为18位身份证号最后一位是验证码,所以公式中的B1比较难确定
新旧表中肯定有姓名吧,把新表中的姓名对应到旧表中就行了,用vlookup函数
用vlookup不就行了吗,不会用的话就百度下,学会了就是自己的,用不了几分钟,这么有用且常用的函数还是自己学会了好