如何利用身份证号码计算出生年月,年龄及性别
发布网友
发布时间:2022-04-22 23:43
我来回答
共2个回答
热心网友
时间:2022-04-04 08:31
10岁男,2021年的2月2日出生
热心网友
时间:2022-04-04 09:49
一、身份证号码的构成规则:
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,"男","女")