【Excel】身份证号最后一位“X”怎么计算

大多数人身份证号最后一位都是数字,但有个别号码最后一位却是"X"。
如果你查百度,会得到如下答案:

当最后一位编码是10的时候,因为多出一位,所以就用X替换。

可大多数人不知道的是,这个10是怎么来的?是随机抽取的?

No! 它是用前17位号码算出来的:

如果你看上表有点头晕,兰色就用Excel表格一步步算给你看。

把身份证前17位拆分开来

在后面输入系列,然后相乘并求和

对D列求和并计算除以数字11后余数

=MOD(SUM(D2:D18),11)

再从下表查找8对应的编码,结果为4。

所以也可以看出韦小宝的身份证号是编造的假证件号。

看了这么多计算步骤是不是感觉有点麻烦,其实一个Excel公式就可以搞定!

=VLOOKUP(MOD(SUM(MID(A1,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1){7;9;10;5;8;4;2;1;6;3;7;9;10;5;8;4;2}),11),{0,1;1,0;2,"X";3,9;4,8;5,7;6,6;7,5;8,4;9,3;10,2},2,0)或=LOOKUP(MOD(SUM(MID(A2,ROW(1:17),1) {7;9;10;5;8;4;2;1;6;3;7;9;10;5;8;4;2}),11),{0,1;1,0;2,"X";3,9;4,8;5,7;6,6;7,5;8,4;9,3;10,2})

如果想验证一个身份证号码是否正确,还可以使用另一个公式A1中为身份证号码:(下面公式为数组公式,非365版本按Ctrl+shift+enter输入)=MOD(SUM(MID(A1,ROW(1:17),1)*{7;9;10;5;8;4;2;1;6;3;7;9;10;5;8;4;2})+IF(RIGHT(A1)="X",10,RIGHT(A1)),11)只要结果为1,身份证号码正确,否则错误

这几个公式同学们要收藏起来,将来可以用来验证身份证号码真伪,必竟最后一位计算过程复杂,如果胡编乱造最后一位很大机率是不对应的。

相关推荐
CircleMouse2 分钟前
如何设置wps单元格下拉选项设置
excel·wps
zhangjin12225 小时前
kettle插件-excel插件,kettle读取excel动态表头,kettle根据列名读取excel
excel·kettle·kettle excel插件·kettle 动态excel
远洪20 小时前
excel 找出两列不同的数据
excel
pcplayer21 小时前
非常好用的 Excel 读写控件
excel·delphi·office
Navicat中国1 天前
使用 Navicat 导入向导导入 Excel 数据时,系统提示导入成功,表中也能看到数据,但行数统计显示为 0,这是什么原因?
数据库·excel·导入
穿着内裤的外星人1 天前
触控精灵远程读写Excel步骤配置
excel
是孑然呀1 天前
【小记】excel vlookup一对多(第二篇)
excel
开开心心就好1 天前
专为视障人士设计的免费辅助工具
windows·计算机视觉·计算机外设·excel·散列表·推荐算法·csdn开发云
transformer_WSZ1 天前
excel两列数据绘制折线图
excel·折线图
蒋胜山2 天前
Excel 练习题(5)
经验分享·excel