如何利用身份证号码计算出生年月,年龄及性别

如题所述

一、身份证号码的构成规则:

1、前6位为地区代码。具体请在网上搜索相关介绍。

2、7位至14位,出生年月日,7—10位出生年,11—12出生月(两位),13—14出生日。

3、15—18位,识别代码。其中第17位就是性别代码,单数为男,双数(含0)为女。

二、从身份证中提取相应的位数进行相应的计算。

1、提取出生年月日并用日期格式表示在单元格里(mid函数+date函数)。

(1)mid函数一共有三个参数:第1个表示字符串或单元格,第2个表示从第几位开始提(用数字表示),第3个表示需要提取几位(用数字表示)。如本例从身份证中提取出生年月日就是要提取第7位开始的8位。用函数表示为:=mid(存放身份证的单元格,7,8)

(2)这样不是标准的日期格式,为我们计算年龄增加了困难,所以要用date函数来生成日期格式。

date函数就是日期函数,一共有三个参数,具体表示为:=date(年,月,日)。如:=date(1966,3,13)得出的结果就是(1966-3-13)

本例需要结合两个函数进行。具体公式为:=DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),最后记得要将单元格格式设置为“日期”才行哦。

2、计算年龄(DATEDIF函数),具体公式为:=DATEDIF(B2,TODAY(),"y")

此函数有三个参数,第一个表示开始日期(本例为出生日期),第二个表示结束日期(本例为今天,公示中用了一个TODAY函数,表示提取计算机日期,此函数没有参数,所以只用了一个双括号表示),第三个参数为计算相差什么(年用Y,月用M,日用D。本例指相差的年,所以用Y)。

3、计算性别(if函数+mod函数)

(1)if函数:假如条件为真时显示什么,为假时显示什么。具体为:=if(条件,真时显示,假时显示)。如:=if(3>1,1,0)表示如果3大于1,就显示1,否则就显示0,显然,这个的结果是1。

(2)mod函数:表示求两数相除的余数。语法为:=mod(被除数,除数)。如:=mod(9,2)结果为1。

(3)本例需要提取第17位数字进行判断,单数为男,双数为女。很显然,一个数除以2,余数是1的是单数,余数是0的是双数。具体公式为:=IF(MOD(MID(A2,17,1),2)=1,"男","女")

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-04
  居民身份证号码,是可以直接从身份证号码上面分辨出出生日期的,而具体的年龄就需要本人自行进行计算。

  从二代身份证号码组成:
  (1)前1、2位数字表示:所在省(直辖市、自治区)的代码;

  (2)第3、4位数字表示:所在地级市(自治州)的代码;
  (3)第5、6位数字表示:所在区(县、自治县、县级市)的代码;
  (4)第7—14位数字表示:出生年、月、日;
  (5)第15、16位数字表示:所在地的派出所的代码;
  (6)第17位数字表示性别:奇数表示男性(1、3、5、7、9),偶数表示女性(0、2、4、6、8);
  (7)第18位数字是校检码:也有的说是个人信息码,不是随计算机的随机产生,它是 用来检验身份证的正确性。

  从二代身份证号码组成可以了解,从居民身份证号码第17-14位数字是可以直接知道公民户籍系统的出生日期,而第17可以辨别性别。例如11111119990901021X(随便填写,不是有效的身份证号码),第7-14位为19990901,就代表公民是1999年9月1日出生的,第17位为2,代表偶数,女性。公民的实际年龄,就需要以当年的年份减去出生日期进行计算,如2016年10月-1999年9月1日,公民实际年龄就应该是17岁多1个月。
第2个回答  2016-08-02
生份证号码第7至第14位是出生年月日,第17位(倒数第二位)奇数为男性,偶数为女性。本回答被提问者采纳
第3个回答  2016-08-02
7至14位是出生年月日,倒数第二位单数是男,双数是女。
第4个回答  2016-08-02
性别你肯定弄不成 中间八位就是了
相似回答