​利用Excel公式将15位身份证号转换成18位,你尝试过吗?

利用Excel公式将15位身份证号转换成18位,你尝试过吗?

今天上班时有一项工作,具体来说就是需要把一些15位的老身份证号码维护成18位,我们毕竟不是公安部门,不能直接从户籍系统调取,所以只能自行想办法解决,不过好在数据量不大,通过各种方法顺利完成了工作,但完成工作之余我想,如果数据量很大怎么办,一定会有方法可以快捷高效的进行转换,所以我决定尝试研究一下。

要把15位身份证号码转换成18位号码,首先需要搞清楚15位号码与18位号码差别在哪里,这个大家应该都知道,差的3位中,其中2位是年份,即“19”,而第3位,也就是18位身份证的最后一位,是校验位。

现存的15位身份证号码都是2000年之前签发的,所以可以直接将“19”加入到15位号码中,形成“XXXXXX19XXXXXXXXX”这样的17位号码,所以我们需要做的就是确定最后一位校验位。

校验位如何确定,我们可以查询一下,通过百度我们可以知道,将17位号码从第1位至第17位分别乘以对应系数7、9、10、5、8、4、2、1、6、3、7、9、10、5、8、4、2,然后结果相加除以11,得出余数,这个余数只可能是0、1、2、3、4、5、6、7、8、9、10中的一个,而这11个数分别对应的身份证校验位为1、0、X、9、8、7、6、5、4、3、2,至此,我们已经完全了解了转换的规则,下一步就是具体选择工具、设计思路等具体工作了。

工具我选择使用Excel,原因有二,一是工作中常用,对这个比较熟悉,二是Excel本身功能也非常强大,完全可以满足需要。当然也可以使用一些软件编程进行转换,作为业余爱好曾经自学过按键精灵,我相信我也可以使用按键精灵做出来,但是毕竟是曾经,做起来肯定没有Excel这么方便直接,做什么都得讲一个效率不是。

至于思路,大致是下面这个顺序,最终目标是除第一步外,其余全部自动完成。

手动输入15位号码

自动加入年份“19”

将17位号码拆分

分别乘以系数后求和

求余数

根据余数判断返回检验位

合并检验位,形成18位号

具体操作步骤:

1、在B2单元格填入需要转换的15位身份证号码。

2、在B4单元格中使用replace函数加入年份“19”。replace函数是替换函数,以B4单元格为例,它的格式是“=REPLACE(B2,7,0,19)”,括号里的4个值得意义分别是需要替换的位置是B2单元格、从B2单元格中第七个字符开始替换、替换的字符数量为0、用于替换的值是19。

3、使用MID函数将B4单元格中生成的17位号码分别拆分到C6到S6单元格中。MID函数是一个提取指定字符的函数,以C6单元格为例,它的格式是=MID(B4,1,1),括号里的3个值得意义分别是需要拆分的位置是B4单元格、从第1个字符开始、提取1个字符。那么D6单元格的格式是=MID(B4,2,1),括号里的3个值得意义分别是需要拆分的位置是B4单元格、从第2个字符开始、提取1个字符,以此类推。图片3中公式B4前加了“$”,是绝对引用的意思,是因为我是拖拽填充的公式,不绝对引用B4单元格的话就会出现错误,如果从C6到S6单元格一一设置MID公式的话可以不用,就是能麻烦一些。

4、拆分后的数值分别乘以对应系数,求和。这个没什么可说的了,比较简单。

5、在C16单元格中使用MOD函数求余数,以C16单元格为例,它的格式是=MOD(C12,C14),括号里的2个值得意义分别是被除数是C12单元格、除数是C14单元格,因为我们知道除数是固定值11,所以也可以将C14直接写成11。上一步求和是259,259除11得23余6,所以C16单元格公式结果为6。

6、使用IF函数,根据得到的余数判断返回对应校验位。它的格式是IF(条件,条件成立则返回值1,条件不成立则返回值2),白话来说就是如果这个条件成立,那么返回值1,否则返回值2。如果遇到比较复杂的条件时,可以嵌套多个IF函数,即如果这个条件成立,那么返回值1,否则如果……。以C18单元格为例,它的公式为=IF(C16=7,5,IF(C16=0,1,IF(C16=1,0,IF(C16=2,X,IF(C16=3,9,IF(C16=4,8,IF(C16=5,7,IF(C16=6,6,IF(C16=8,4,IF(C16=9,3,IF(C16=10,2,"无数据"))))))))))),解读一下就是如果C16=7,那么返回值为5,否则如果C16=0,那么返回值为1,否则如果C16=1,那么返回值为0,否则如果C16=2,那么返回值为X,否则如果……,知道C16=10,那么返回值为2,否则返回值为“无数据”,这个无数据是为了满足公式条件,实际上是不会出现返回值为“无数据”的情况的。

7、终于到了最后一步,利用“&”,将之前的17位号码与判断得到的检验位进行合并,直接在单元格B20中输入公式“=B4&C18”即可得到最终完整的18位身份证号码。

至此,已经实现了最终的目的,得到了18位身份证号码,算是尝试成功了,如果过程中有可以优化的地方,大家可以指点指点。此时,另一个问题出现了,单个输入转换效率还是不够,如何在这个基础上实现批量输入批量转换呢,决定继续研究一下。

相关推荐

​武大郎开店了吗?林冲怒骂王伦告诉你答案

​武大郎开店了吗?林冲怒骂王伦告诉你答案

141

武大郎开店了吗?林冲怒骂王伦告诉你答案 图片来自网络 一、提到武大郎开店,我想到一篇谈及梁山好汉朱贵的杂文。 我觉得这篇杂文构思甚好,值得学习学习。 这篇杂文借朱贵对待...

​下月起,天津调整出租车价格

​下月起,天津调整出租车价格

197

下月起,天津调整出租车价格 转自:今晚报 特别提示:凡本号注明“来源”或“转自”的作品均转载自媒体,版权归原作者及原出处所有。所分享内容为作者个人观点,仅供读者学习...

​什么是荒漠?

​什么是荒漠?

101

什么是荒漠? 荒漠是气候极端干燥,降水稀少,植被稀疏、土地贫瘠的地区。 降水量250毫米以下,蒸发量超过降水量数倍或者数十倍。 南美洲的阿塔卡玛沙漠,是世界最干旱的地方,...

​山西运城旅游必去十大景点

​山西运城旅游必去十大景点

103

山西运城旅游必去十大景点 #运城#山西运城旅游必去十大景点:舜帝陵、运城盐湖、鹳雀楼、永乐宫、五老峰、李家大院、解州关帝庙、普救寺、万荣西滩景区、大禹渡黄河风景区等。...

​长期熬夜真的会变丑吗?

​长期熬夜真的会变丑吗?

179

长期熬夜真的会变丑吗? 会变丑 会变丑 会变丑!!! 长期的熬夜对比一下就非常大的区别,首先皮肤状态会特别特别差! 年轻时候谁没熬过几个夜啊, 大学我们整个宿舍6个姐妹5个...

​微信套路表情包大全,快去整蛊你的好友吧!

​微信套路表情包大全,快去整蛊你的好友吧!

192

微信套路表情包大全,快去整蛊你的好友吧! 走过最长的套路,就是微信那些表情包,套路真深,被坑的迫不及防!比如火热的“阅后即焚”、“你点开系列”、“文字倒装”、“假语...

​石家庄15中,为什么这么牛

115

石家庄15中,为什么这么牛 在石家庄 有一所学校,叫石家庄第15中学 有一种回忆,叫“江米条” 有一群人,叫十五中人! 刚入校,校规严苛,长发变短发,满心嫌弃;毕业后,却想念...

​什么是田园风

​什么是田园风

174

什么是田园风 哈喽大家好,我是Angel,前两天给大家欣赏的是比较复杂的装修风格,今天天气这么好,咱们来看点清新淡雅的风格可好? 今天小编想分享给各位大大们的是恬静的田园风...

​量子力学很可怕么?

161

量子力学很可怕么? 20世纪初出现的量子力学,给物理学研究带来了很大的促进作用,甚至我们的生活也带来了巨大的变化,不过当物理学家深入的研究之后,却发现它有着很多恐怖的...

​美女走秀,大饱眼福!让你的瞳孔为之一亮!

​美女走秀,大饱眼福!让你的瞳孔为之一亮!

173

美女走秀,大饱眼福!让你的瞳孔为之一亮! 喜欢时尚的小伙伴们,今天我带来重磅消息!近日,在国际时尚舞台上,一场令人热血沸腾的盛事即将上演——美女走秀秀场!这是一场集...