【www.zhuodaoren.com--推荐阅读】
【篇一】:根据身份证号码判断性别
看一个人的身份证号码就能看出一个人的性别吗?
身份证倒数第二个数字,奇数是男性,偶数是女性
一般是最后一位 双号是女的 单号是男的
15位的看倒数第一位,奇数为男性;
18位的看倒数第二位,同样奇数为男性。
15位的看最后一个数单数的为男,双数的为女。
18位的看倒数第二位单数的为男,双数的为女
15位的旧身份证,最后一个数是单数的为男,双数的为女;
18位的新身份证,倒数第二位是单数的为男,双数的为女。
了解它,首先应了解号码的结构和表示形式!
1、号码的结构
公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
2、地址码
表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。 (中国各地的行政区划代码请参考国家统计局网站 可以
查询到最新的县及县以上的行政编码资料。 有时有很多人发现自己现在办的身份证号码前几位的地址码为什么变化了呢?这主要出现在中国的重庆。原有的重庆人的身份证多数以51开头。以前隶属于四川的原因。但新办的身份证可能是50开头,原因是行政区划改变所致。然而2000年以来,国家行政改革的步伐加快,撤地设市、撤乡并镇后有些县区的代码变更或更替了,如原来的廉江县的地址码是440822,但在后来升为廉江市后就改为440881了。但原来是怎么样的还是怎么样,如我的就是440822,而后来的人的就都是440881了。
3、出生日期码
表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。 18位的编码首先是把原15位的身份证编码的出生年扩展为4位,简单的就是增加一个19,但是这对于1900年出生的人不使用(这样的寿星不多了)。
4、顺序码
表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。 从000到999一共有1000个,其中男的有500个,女的也有500个。也就是说如果这个地方当天有501个或更多的同性婴儿出生的话就麻烦了。这就要看当地的平均日出生率了。也许根据全国的人口出生率这是不可能性的事情吧。因为据说每个县级登记机关每天的可登记量定为300个,这个我就没有去研究过了。据说如果某公民的顺序号编码是999或者997那么这个公民一定是百岁以上的男性老人;同样顺序号编码是998或者996那么这个公民一定是百岁以上的女性老人;这4个特殊顺序号是我国“一代证”对百岁以上男女老人设置的专用特定编号,“二代证”取消了这个规定。
5、校验码身份证号码性别。
校验码,我们平常也叫它识别码。校验码是根据前面十七位数字码,按照ISO 7064:1983.MOD 11-2校验码计算出来的检验码。
(1) 十七位数字本体码加权求和公式
S =
Y = mod(S, 11)。(表示求S除以11的余数,我们也可以用取整函数得到。即Y=S-[S/11]×11,“[]”为取整函数的符号。 )
i: 表示号码字符从右至左包括校验码字符在内的位置序号。
Ai:表示第i位置上的身份证号码字符值。
Wi:表示第i位置上的加权因子,其数值依据公式Wi=mod(2(i-1), 11)计算得出。加权因子的公式是:2的i-1次幂除以11取余数。比如i=5,那加权因子就是:2的4次幂除以11,也就是4个2相乘=16,16除以11,余数是5.又如i=6,就是5个2相乘=32,32除以11,余数是10.加权因子正确。再如i=8 ,7个2相乘=128,128除以11,余数是7. i=10,9个2相乘=512,512除以11,余数是6.所以说加权因子是个固定不变的值。mod(210, 11)= mod(24×24×22, 11)= mod(5×5×4, 11)=mod(3×4, 11)=1.所以mod(216, 11)= mod(210×26, 11)= mod(1×24×22, 11)= mod(5×4, 11)=9。同理mod(2100000, 11)=1。
(2) i: 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1
(2)校验码字符值的确定:
Y : 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 X 9 8 7 6 5 4 3 2
四、举例如下:
假如有个叫刘付深圳的身份号码是34052419800101001A,首先按照公式S = 计算:
I= 18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2。
Ai 3,4,0,5,2,4,1,9,8,0,0,1,0,1,0,0,1。
Wi 7, 9, 10, 5, 8, 4,2,1,6, 3, 7, 9, 10, 5, 8,4,2.
ai×Wi 21 36 0 25 16 16 2 9 48 0 0 9 0 5 0 0 2
S= ∑(ai×Wi)= (21+36+0+25+16+16+2+9+48++0+0+9+0+5+0+0+2) = 189
Y = mod(S, 11)=189-[189÷11]×11=189-17×11=2。
然后根据计算的结果,从下面的表中查出相应的校验码,其中X表示计算结果为10:
Y : 0 1 2 3 4 5 6 7 8 9 10
校验码: 1 0 X 9 8 7 6 5 4 3 2
根据上表,查出计算结果为2的校验码为所以该人员的公民身份号码应该为 34052419800101001X。 我们可以利用下表来进行简容的计算:
i 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Sy=
Y=mod(Sy,11)
Ai
Wi=mod(2i-1,11) 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1
Si= Ai X Wi
Yi=mod(si,11)
校验码字符值的确定:
Y 0 1 2 3 4 5 6 7 8 9 10
校验码 1 0 X 9 8 7 6 5 4 3 2
如北京市朝阳区刘付北大的身份证号码如下: 11010519491231002X 。计算如下所示:
i 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Sy=
Y=mod(Sy,11)
Ai 1 1 0 1 0 5 1 9 4 9 1 2 3 1 0 0 2 X
Wi=mod(2i-1,11) 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1
Si= Ai X Wi 7 9 0 5 0 20 2 9 24 27 7 18 30 5 0 0 4
Yi=mod(si,11) 7 9 5 9 2 9 2 5 7 7 8 5 4 79 2
所以最后一位是X。
看下面的身份证是否正确:
广东省廉江市刘付学友的身份证:440822196512122238。
i 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Sy=
Y=mod(Sy,11)
Ai 4 4 0 8 2 2 1 9 6 5 1 2 1 2 2 2 3 A
Wi=mod(2i-1,11) 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1
Si= Ai X Wi 28 36 0 40 16 8 2 9 36 15 7 18 10 10 16 8 6
Yi=mod(si,11) 6 3 7 5 8 2 9 3 4 7 7 10 10 5 8 6 100 1
最后一位应是0才对。即440822196512122230。
眼下网上流行的在线免费验证或者查询的身份证号码只能给你提供到户口所在地的县(区)级区域,是不可能给你查出某一个人的姓名和详细住址,按照法律常识公安派出所的户籍档案和身份证的数据库是保密的,属于国家秘密!不会授权任何单位或网站的进行收费查询,也不会用手机发送短信的方法收费给你查询,所以我们要提高警惕,不要上少数人利用QQ和E-mail给你收费查询的当。最权威的管理部门是公安派出所,公安派出所也不会给任何人提供公民身份证号码、姓名、住址等信息的查询。
从以上可以知道:对于每一个身份证号码的校验码是由它的前17位所决定的,每一个身份证号有也只有唯一的一个校验码。所以你只要告诉我你的常住户口所在县(市、旗、区)和你的出生年月日的话,我也可以帮你造出个不同的身份证号码。
【篇二】:身份证号码求性别
1、根据身份证号码求性别:
=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=18,IF(MOD(VALUE(MID(B2,15,3)),2)=0,"女","男"),"身份证错"))
2、根据身份证号码求出生年月:
=IF(LEN(B2)=15,CONCATENATE("19",MID(B2,7,2),".",MID(B2,9,2)),IF(LEN(B2)=18,CONCATENATE(MID(B2,7,4),".",MID(B2,11,2)),"身份证错"))
3、根据身份证号码求年龄:
=IF(LEN(B2)=15,year(now())-1900-VALUE(MID(B2,7,2)),if(LEN(B2)=18,year(now())-VALUE(MID(B2,7,4)),"身份证错"))
上述分析,可以通过下述操作,完成形如1978-12-24样式的出生年月日自动提取: 假如身份证号数据在A1单元格,在B1单元格中编辑公式
=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2))
【篇三】:根据二代身份证号码判断性别
如何根据二代居名身份证号码判断一个人的性别?
说明:
新修订的《居民身份证法》于2012年1月1日开始实施,修订后的《居民身份证法》规定,依照《中华人民共和国居民身份证条例》领取的居民身份证(即一代证),自2013年1月1日起停止使用。警方提醒仍持有使用一代居民身份证的居民尽快到公安机关申请换发二代居民身份证。
身份证性别判定标准:
1.如果是15位的号码,根据最末位的奇偶数判断,双数为"女",单数为"男"
2.如果是18位的号码,根据号码的倒数第二位的奇偶数判断,双数为"女",单数为"男"
程序运行结果:
请输入一个有效的身份证号码: 610522881002601
此人为男性!
请输入一个有效的身份证号码: 610527199104300721 此人为女性!
【篇四】:身份证号码换算年龄、性别、出生日期的公式
15位和18位的身份证号都合适的了。设内容如下:
........A列......B列......C列......D列....
1 身份证号 性别 出生年月 年龄
2(输入身份证号)
算年龄的:
“=IF(OR(LEN(A2)=15,LEN(A2)=18),RIGHT(IF(IF(LEN(A2)=15,MID(A2,9,2),MID(A2,11,2))*100+IF(LEN(A2)=15,MID(A2,11,2),MID(A2,13,2))>MONTH(TODAY())*100+DAY(TODAY()),YEAR(TODAY())-IF(LEN(A2)=15,MID(A2,7,2),MID(A2,9,2))-1,YEAR(TODAY())-IF(LEN(A2)=15,MID(A2,7,2),MID(A2,9,2))),2),"证号错误")”
算性别的:
“=IF(LEN(A2)=15,(IF(OR(ABS(RIGHT(A2))=1,ABS(RIGHT(A2))=3,ABS(RIGHT(A2))=5,ABS(RIGHT(A2))=7,ABS(RIGHT(A2))=9),"男","女
")),(IF(OR(ABS(MID(A2,17,1))=1,ABS(MID(A2,17,1))=3,ABS(MID(A2,17,1))=5,ABS(MID(A2,17,1))=7,ABS(MID(A2,17,1))=9),"男","女")))”
算出生年月的:
“=DATE(IF(LEN(E3)=15,MID(E3,7,2),MID(E3,9,2)),IF(LEN(E3)=15,MID(E3,9,2),MID(E3,11,2)),IF(LEN(E3)=15,MID(E3,11,2),MID(E3,13,2)))”
只要把输入身份证号的单元格格式设为“文本”就是最关键的,准确。
注:A2、E3是身份证号所在列和行,应相应改动
另一种方法
=DATEDIF(TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"00-00-00"),TODAY(),"y" )
A1是身份证号,在B1中输入上面的公式试试
在Excel中按身份证号码提出一定年龄段的人出来
在Excel中,有一个几千人的工作表,现在我想把工作表中满70岁的人员提出来,能依靠的条件就是身份证。而身份证号有十八位号和十五位号两种。也就是说,要依据身份证号找出在36年之前出生的人,该如何操作。
假设你的表格中从A3单元格开始填写身份证号码,那么可在该列后面插入一列,即B列,在B3输入公式: =IF(LEN(A3)=18,MID(A3,7,4),"19"&MID(A3,7,2)) 。将公式拖动复制到需要的行。这时选中该列——右键——复制——在原位(B3)单击右键——选择性粘贴——选数值——确定(该步骤目的是将公式列变为数字列,便于筛选)。现在,选中第二行——数据——筛选——自动筛选——在B列的下拉菜单中选“自定义”——在“显示行”的相应框中输入“小于或等于”-“1936”——确定。所有在1936年及其以后出生的就筛选出来了。注意:以上公式既适合18位,又适合15位身份证号码提取年份。身份证号码性别。
一、分析身份证号码
其实,身份证号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15位还是18位的身份证号码,其中都保存了相关的个人信息。
15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
例如,某员工的身份证号码(15位)是320521720807024,那么表示1972年8月7日出生,性别为女。如果能想办法从这些身份证号码中将上述个人信息提取出来,不仅快速简便,而且不容易出错,核对时也只需要对身份证号码进行检查,肯定可以大大提高工作效率。
二、提取个人信息
这里,我们需要使用IF、LEN、MOD、
MID、DATE等函数从身份证号码中提取个人信息。如图1所示,其中员工的身份证号码信息已输入完毕(C列),出生年月信息填写在D列,性别信息填写在B列。
1. 提取出生年月信息身份证号码性别。
由于上交报表时只需要填写出生年月,不需要填写出生日期,因此这里我们只需要关心身份证号码的相应部位即可,即显示为“7208”这样的信息。在D2单元格中输入公式“=IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4))”,其中:
LEN(C2)=15:检查C2单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位。
MID(C2,7,4):从C2单元格中字符串的第7位开始提取四位数字,本例中表示提取15位身份证号码的第7、8、9、10位数字。
MID(C2,9,4):从C2单元格中字符串的第9位开始提取四位数字,本例中表示提取18位身份证号码的第9、10、11、12位数字。
IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4)):IF是一个逻辑判断函数,表示如果C2单元格是15位,则提取第7位开始的四位数字,如果不是15位则提取自第9位开始的四位数字。
如果需要显示为“70年12月”这样的格式,请使用DATE格式,并在“单元格格式→日期”中进行设置。
2. 提取性别信息
由于报表中各位员工的序号编排是按照上级核定的编制进行的,因此不可能按照男、女固定的顺序进行编排,如果一个一个手工输入的话,既麻烦又容易出错
例如性别信息统一在B列填写,可以在B2单元格中输入公式
“=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女")”,其中:
LEN(C2)=15:检查身份证号码的长度是否是15位。
MID(C2,15,1):如果身份证号码的长度是15位,那么提取第15位的数字。
MID(C2,17,1):如果身份证号码的长度不是15位,即18位身份证号码,那么应该提取第17位的数字。
MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2):用于得到给出数字除以指定数字后的余数,本例表示对提出来的数值除以2以后所得到的余数。
IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女"):如果除以2以后的余数是1,那么B2单元格显示为“男”,否则显示为“女”。
回车确认后,即可在B2单元格显示正确的性别信息,接下来就是选中填充柄直接拖曳。如图2所示,现在这份报表无论是提取信息或是核对,都方便多了
=DATEDIF(IF(LEN(A1)=18,DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2)),DATE(MID(A1,7,2),MID(A1,9,2),MID(A1,11,2))),TODAY(),"Y")。
=YEAR(NOW())-IF(LEN(A1)=15,19&MID(A1,7,2),MID(A1,7,4))
其中A1为输入身份证号码的单元格
第一个公式得出的是实际年龄,就是按月算,第二个公式得出的是按年算的年龄.
****在Excel中按身份证号码显示18-65周岁年龄段的人出来
在Excel中,按身份证号码显示18-65周岁年龄段的人实际年龄,超过这个年龄段的显示为“不符合规定”具体为E2为身
B2=IF(ABS(DATEDIF(TEXT((LEN(E2)=15)*19&MID(B1,7,6+(LEN(E2)=18)*2),"#-00-00"),NOW(),"Y")-41.5)<24,DATEDIF(TEXT((LEN(E2)=15)*19&MID(E2,7,6+(LEN(B1)=18)*2),"#-00-00"),NOW(),"Y"),"不符合规定")
在excel中从身份
本文来源:http://www.zhuodaoren.com/tuijian687724/
推荐访问:身份证号码性别区分 身份证号码性别公式