星级打分
平均分:0 参与人数:0 我的评分:未评
身份证号码之所以会显示为X,是与校验码的生成规则有关, 跟大家简单的介绍下,身份证号码第18位,也就是校验码的编写规则吧!看完你就懂为什么会显示为X了
+ y+ Q$ v* y8 J$ y$ L/ n, u. H( I: M" q4 Q7 e9 C {4 A- U- S
一、身份证号码的构成
% `, [$ j1 a7 V0 b% }8 Q2 i% {' T0 x( D8 Z
现在的身份证大多都是18位的,15位的基本已经见不到了,我们就以18位的身份证号码为例,来简单的回顾下身份证号码的编写规则
* A l) D5 W$ z' @
, z( y8 h! F( ^. b
地址代码(1-6位)
1 V; ?! H0 ]( w5 j$ C7 g$ U' O0 ?$ a, V% G
1-2位是省份代码,3-4位是城市代码,5-6位是区间代码,网上很多地址对照表的,感兴趣的可以搜下
# X6 U4 f6 g/ s, y- ?
+ J# _" I) N3 q. o7 m生日代码(7-14位)
! \' E; Q! Y. J9 f
% E6 R7 v7 ]* {# U# Q1 T7-10位是年份,11-12位是月份,13-14位是天数,这个相信很多人都知道,之前是讲过的
/ P! ] X: y w' `( K6 l
( t0 b \. w/ ~( \1 f
顺序码(15-17位)
8 V- M% H8 G/ ^# p* B# D
V8 B/ Z* {/ P
15-16位,当地派出所给的主要是为了避免同年同月出生重复的情况,其中第17位是性别代码,奇数会分给男性,偶数会分给女性
4 Q0 H* k3 f* O0 R* a m8 F) u4 K! \
校验码(18位)
6 _6 O( [5 q2 x* j' \! \) T7 r$ R9 [. r# U3 @* e
顾名思义他的作用就是用来检验身份证号码是否正确的,是根据前面十七位数字码,按照特定的计算得出。下面跟大家简单地说下计算的规则,感兴趣的可以具体搜下
' ]1 {8 l; A* G( W
" c2 a: ^9 }. c' j二、计算规则
# C6 E+ a- w9 E
0 w1 \, w' ^" c
1.计算余数
& i5 f- v, G+ b; {! _- H j q! _3 w3 d) X* f3 |# J8 k
身份证号码的第1到17位几乎可以说是固定的,而根据规则,1到17位,还分别对应不同的系数,1到17位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2
8 i6 y4 Y: U; M( K, x
; @2 ]( ?8 F8 \. u6 _# a首先需要将每个位数的数字与对应的系数相称得到一个乘积,然后再将乘积求和,这个我们可以使用函数SUMPRODUCT,公式如下,结果为323。
7 S* D( W0 I8 f: [
' w" ]8 t; q9 h/ o2 v2 r=SUMPRODUCT(B2:B18,C2:C18)
+ T* X( |, p; S. v/ L3 D
- p/ M. G% e4 d& \随后需要将323除以11来得到一个余数,这个余数我们可以使用MOD函数,它的作用就是求余数,结果为4
& q- d' Y! n/ Y$ h
/ k* o# ~) c" y
公式=MOD(D19,11)
l. ^5 d& N' R& ^4 e3 G% o
; Z+ W8 }* X* f$ {) P2.计算校验码
% a4 l# U5 F; I/ i0 o
F! ^0 @6 h" t; L9 ~2 d
求出余数后,还有一个余数校验码的对照表,我放在下面了,刚才求得余数为4,根据对照表可知身份证最后一位是8,如果最后一位不是8,那么它就是错误的号码
8 O7 h" h( ^1 V% E8 g
3 j4 P. E4 ~: A& Q' [5 D1 z因为除以11,所以说是有10个余数的,10个余数就会对应10个校验码,如果校验码写10,那么身份证的长度就会超过18位。所以为了保证身份证号码长度的统一,就使用X来代替数字10,X其实是罗马数字10的意思。
4 u! Q3 x& |" w1 r
9 Q x- B1 ?/ G3 \6 Y三、禁止录入错误的号码
+ T1 r4 C: Y4 e% |) m, y1 Z' Z4 Q$ Z3 l; }
利用校验码,我们可以在Excel中设置禁止录入错误的身份证号码
2 I* x3 p, |* [0 q# |% t5 b
* D3 A' B; x! G+ p首先在旁边粘贴公式,会显示一列错误值,不用担心,随后选择数据区域,为数据区域添加【数据验证】,将【允许】设置为自定义,直接输入=B2,就是第一个公式,确定即可
" j) }: Z$ J5 ]6 a9 k0 M8 Z" J. X
3 S! W+ o/ s. {+ `( k; g8 c& V- c
公式:=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)
; z) i, X" e4 m; l: l" B* ~# s. Z" @$ Y w: G2 W
以上就是今天的全部内容啦,身份证号码结尾位X其实并没有什么特殊的,但是在Excel中,我特别喜欢身份证号码结尾是X的人,有人知道为什么吗?
5 {" L- i6 ]/ p7 o7 Y+ `7 A( x) `: H
! j2 G) V8 X2 |& L: O