星级打分
平均分:0 参与人数:0 我的评分:未评
身份证号码之所以会显示为X,是与校验码的生成规则有关, 跟大家简单的介绍下,身份证号码第18位,也就是校验码的编写规则吧!看完你就懂为什么会显示为X了
2 i3 h! A* \% t
4 @: F$ ?/ U( i2 |9 ^3 g
一、身份证号码的构成
2 F( a# M H( I+ i6 @9 |
3 r9 E; E* A0 T9 s1 n现在的身份证大多都是18位的,15位的基本已经见不到了,我们就以18位的身份证号码为例,来简单的回顾下身份证号码的编写规则
& Q) [5 i4 ]3 z" ], u
, ^+ X6 k2 Q1 B地址代码(1-6位)
6 M$ o U3 Q! T' \7 u- {7 Y, t3 K4 b
1-2位是省份代码,3-4位是城市代码,5-6位是区间代码,网上很多地址对照表的,感兴趣的可以搜下
$ ]( C8 h j$ m* a6 ~
& Q7 t# y; c# ]$ F+ w2 U+ J$ q
生日代码(7-14位)
4 n" m8 C u6 Z7 o
. V& G( n$ a2 d0 i* ]
7-10位是年份,11-12位是月份,13-14位是天数,这个相信很多人都知道,之前是讲过的
$ l6 b+ |# M2 `% s9 t6 c( b0 a7 J6 c6 ~. |
顺序码(15-17位)
1 I# H% ?4 e- {* o
/ [* s. Z( s# o* a9 s$ J) ~! ?15-16位,当地派出所给的主要是为了避免同年同月出生重复的情况,其中第17位是性别代码,奇数会分给男性,偶数会分给女性
( h2 N" x' ~! Z# J- @7 o: H6 \. U% m8 |4 @& d$ |( R
校验码(18位)
$ J+ x$ `$ A# t) S; j" s! g
% ]9 F/ {9 B, |: N: \4 |. j
顾名思义他的作用就是用来检验身份证号码是否正确的,是根据前面十七位数字码,按照特定的计算得出。下面跟大家简单地说下计算的规则,感兴趣的可以具体搜下
* S5 \! H- ^& Y; U% O5 U/ m( @/ K
二、计算规则
5 |* x; B2 b2 d9 Q6 S, h3 L
. W8 _, x; I% g( C1 q0 ]4 h+ X g
1.计算余数
, Y# M, t) S9 ^! e0 `9 Y
, C. N5 b3 E; |0 N9 V身份证号码的第1到17位几乎可以说是固定的,而根据规则,1到17位,还分别对应不同的系数,1到17位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2
n2 Q) ~( Z6 t+ c. c: H1 q
9 R2 p- N6 u! B) U% L) l+ F4 Z首先需要将每个位数的数字与对应的系数相称得到一个乘积,然后再将乘积求和,这个我们可以使用函数SUMPRODUCT,公式如下,结果为323。
3 X9 T9 B) A. r9 D+ }
8 y1 z V5 q; N=SUMPRODUCT(B2:B18,C2:C18)
% A- W3 g1 w1 r- w3 H% m T. v* [: K! j2 x$ d; u& l: U6 q
随后需要将323除以11来得到一个余数,这个余数我们可以使用MOD函数,它的作用就是求余数,结果为4
1 ^) |$ [1 R F; s
& P" m) {. x" I& B公式=MOD(D19,11)
. A2 @- u9 [5 P7 O5 A, g: `
# z4 V9 V- J# L$ U. `" ?
2.计算校验码
/ W, H5 n7 T$ F2 h! |; _
" @ ?+ s8 @9 V3 L
求出余数后,还有一个余数校验码的对照表,我放在下面了,刚才求得余数为4,根据对照表可知身份证最后一位是8,如果最后一位不是8,那么它就是错误的号码
- M+ z# Y" v3 C7 {. U6 x) q: \+ I
因为除以11,所以说是有10个余数的,10个余数就会对应10个校验码,如果校验码写10,那么身份证的长度就会超过18位。所以为了保证身份证号码长度的统一,就使用X来代替数字10,X其实是罗马数字10的意思。
9 I5 h$ H3 Q0 ~& e4 w& A3 j
) m* W6 t8 X6 y" l; A三、禁止录入错误的号码
* z6 z+ a" A/ Z, ^$ ^
0 y7 G+ g0 c8 ~) D# j8 j, w/ k" S利用校验码,我们可以在Excel中设置禁止录入错误的身份证号码
1 B* N, H1 G! \6 [, d3 {5 H, v- [: M
首先在旁边粘贴公式,会显示一列错误值,不用担心,随后选择数据区域,为数据区域添加【数据验证】,将【允许】设置为自定义,直接输入=B2,就是第一个公式,确定即可
3 U7 l& A& _- X3 L! D0 Z" S" o
2 N# `* [' W2 r5 f; V+ i7 D公式:=IF(RIGHT(A2,1)="X","X",--RIGHT(A2,1))=VLOOKUP(MOD(SUMPRODUCT(--MID(A2,{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)
4 E% L, w( ] D
9 q9 A: q' ` @6 S+ O& o0 O. m, \- m以上就是今天的全部内容啦,身份证号码结尾位X其实并没有什么特殊的,但是在Excel中,我特别喜欢身份证号码结尾是X的人,有人知道为什么吗?
. O: ~- [; E8 x9 l& x
) y& X _) s- H# h: w( q