一代身份证和二代身份证的区别图片,007.身份证号校验码及缺位补位

张强律师 法律头条 2022-10-14 17:18:42

导读:一代身份证和二代身份证的区别图,007。身份证号校验码及其缺失位置。您好,这是表格元素的第七个内容。我们尝试填补身份证的缺失。在mainland China,第一代身份证居民人数为15

一代身份证和二代身份证的区别图,007。身份证号校验码及其缺失位置。

您好,这是表格元素的第七个内容。我们尝试填补身份证的缺失。

在mainland China,第一代身份证居民人数为15人,第二代增加到18人。结构由663调整为6831.6831,分别为行政代码(6)、日期代码(8)、顺序代码(3)和校验码(1)。其中,序列码的奇数为男性,偶数为女性。当然也可以直接通过序列码的第三位来判断。校验码可以是0-10,只有10占两位数,长度相同,罗马数字X代表10。

下面以[440302199001230134]为例,来讲一下身份证验证码的计算及其缺失的填充。

校验码

现在拿着身份证的复印件,准备打成数字身份证,但不知道是复印质量差还是纸张污损,数字身份证的最后一位看不清楚。

通过前17位的[44030219900123013]计算第18位的[4]。

我们把前17位的①位数值一位一位拿出来。

将数字值乘以一个系数,得出乘积和。

将乘积和除以11得到余数。

匹配余数对应的④校验码。

我们把①-④嵌套到一个公式中,②的系数和④的校验码都是固定值,按[F9]把它们变成常量数组。

校验码独立公式:

=INDEX({1,0,& # 34;X & # 34,9,8,7,6,5,4,3,2},MOD(SUMPRODUCT(MID($A2,COLUMN($ A $ 1:Q $ 1),1)*1,{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}),11)+1)

其中MID($A2,COLUMN($A:$Q),1)*1,通过COLUMN($A:$Q)构造一个1-17的常量数组,并用[digit value]替换[bit order]。

为了避免在公式中插入列导致的错误,[COLUMN($A:$Q)]也被更改为常量数组。

校正公式:

=INDEX({1,0,& # 34;X & # 34,9,8,7,6,5,4,3,2},MOD(sum product(MID($A2,{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17},1)*1,{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 })+1)

检查公式:

=AND(LEN($A2)=18,EXACT(RIGHT($A2),INDEX({1,0,& # 34;X & # 34,9,8,7,6,5,4,3,2},MOD(sum product(MID($A2,{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17},1)*1,{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}),11))

如果您想将测试公式用作表格中的字段,只需将3 [$A2]替换为其他引用。

我们算出来的校验码和身份证的最后一位数不一样,可以提醒我们输入错误,否则就是假证。

作为补充,在A1参考样式中,使用列函数来获取1-17的常量数组,要知道第17个字母是q,通常我们更多使用的是行函数。

行的校验码独立公式:

= INDEX({ 1;0;"X & # 34;9;8;7;6;5;4;3;2},MOD(SUMPRODUCT(MID($A2,ROW($ A $ 1:A $ 17),1)*1,{ 7;9;10;5;8;4;2;1;6;3;7;9;10;5;8;4;2}),11)+1)

我们发现列函数构造的正则数组是水平的,数组的元素之间用逗号分隔。ROW函数构造的规则数组是水平的,数组的元素用分号分隔。校验码数组和系数数组也要相应调整。

空缺填补

[校验码]的计算方法,从另一个角度来说,就是18位的空缺。

接下来以[40302199001230134]缺少第一位数字为例,说明填充方法。

将0-9分别代入第一位,分别得到10个案例的校验码。如果校验码为[4],则为正确的数字值。

十进一。

在校验码的计算中,取数字值公式,

=MID($A2,{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17},1)*1

嵌套成一个公式需要10次,不太现实。我们可以使用MMULT函数。

MMULT(array1,array2)要求array1中的列数与array2中的列数相同,返回结果的大小为array1中的行数* array 2中的列数。

如果数组1是10行*17列,数组2是17行*1列,则结果是10行*1列。

这里,SUMPRODUCT函数用于模拟计算过程。我们把array1的1行*17列作为array1(n),把array2的17行*1列作为1行*17列(类似于转置)。Sumproduct (Array1 (n),Array2 & # 39).

将n=1-10分别代入公式,将10个结果组合成10行*1列的数组结果。

构建一个10行*17列的数组

我们可以通过判断[A1:Q10]的行列来构造一个10行*17列的数组,也可以用[A1:A10]和[A1:Q1]纵横交叉来构造一个10行*17列的数组。这里我们选择后者。

ROW($A:$A)对应于垂直常量数组{ 1;2;3;4;5;6;7;8;9;10}(元素用分号分隔);

COLUMN($A:$Q)对应于水平常量数组{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}(元素之间用逗号分隔)。

我们把{ 1;2;3;4;5;6;7;8;9;0}插入到{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}的第一列,其他列用水平数组的值填充。​

=IF(列($A:$Q)=1,行($A:$A),列($A:$Q))

缺少数字值

=IF($AB4=18,INDEX({ 1;0;"X & # 34;9;8;7;6;5;4;3;2},MOD(sum product(MID($AA4,{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17},1)*1,{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}),11)+1),

匹配(如果(右($ AA4)= & # 34;X & # 34,2,MOD(12-右($AA4),11)),

MOD(MMULT(IF({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}=$AB4,

{0;1;2;3;4;5;6;7;8;9},

MID($AA4,IF({1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 })& gt;$AB4,{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}-1,{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17}),1)*1),

{7;9;10;5;8;4;2;1;6;3;7;9;10;5;8;4;2}

),

11),

0)-1

)

$AA4是要填充的17位身份证数,用了4次,$AB4是缺失位序列,用了3次。注意更换。

离题

无论是第一代还是第二代身份证,身份证信息都包含了大量的个人信息,这是在全国各地区信息化水平非常参差不齐的情况下的无奈之举。如果以后第三代身份证或者电子身份证升级,个人认为身份证的编码规则可以调整。身份证只是一个索引号,不同的机构可以根据不同的授权读取或验证不同级别的信息。

样本文件:

https://pan.baidu.com/s/1FqCUmGEBnJsDUrrjytCurA? pwd = ez07

好了,今天的内容就到这里。欢迎点赞-关注-转发。下次见。

总结:以上内容是对一代身份证和二代身份证,007的区别图片的详细介绍。身份证 校验码和缺失的位置。文章部分内容转载自网络,希望了解一下一代身份证和二代/[/]

版权声明

本站搜集来源于网络,如侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。