图7.115中B列是职员的身份证号码,由于身份证号码中包含了号码所有者的出生日期,因此要求利用身份证号码计算身份证持有人的年龄

Excel 能用身份证号码计算出年龄吗?-Excel22

图7.115 职员信息表

解题步骤

身份证号码中的第7位到第14位属于出生日期,因此使用MID函数从身份证号码中提取生日,然后用它与今天的日期比较就得到年龄了。具体操作步骤如下。

1.在C2单元格中输入以下公式:

Excel 能用身份证号码计算出年龄吗?-Excel22

2.双击C2单元格的填充柄,从而使公式自动向下填充,公式的计算结果如图7.116所示。

Excel 能用身份证号码计算出年龄吗?-Excel22

图7.116 根据身份证号码计算年龄

知识扩展

1.身份证号码的前6位代表地区,地区右边的8位代表出生年月日,因此本例采用MID函数从身份证的第7位开始,一共提取7位数字出来,然后通过TEXT函数转换成日期样式。

例如,第一个身份证号的生日是19770316,使用TEXT函数转换后的结果为“1977-03-16”。如果不转换格式,DATEDIF函数无法识别此日期。

2.TODAY函数用于生成今天的日期,没有参数。

3.DATEDIF 函数用于计算两个日期之间的间隔时间,单位可以是年,也可以是月或天。DATEDIF函数的语法如下:

Excel 能用身份证号码计算出年龄吗?-Excel22

第一参数代表起始日期,第二参数代表结束日期,第三参数用于指定日期单位。

第三参数的取值范围与含义见表7.30

表7.3 unit参数说明

Excel 能用身份证号码计算出年龄吗?-Excel22

表7.3中说明了DATEDIF函数第三参数的6种用法,实际常用的只有第一种和第二种。

=DATEDIF("2012-3-1","2016-4-2","Y")——计算结果4,代表两个日期相差4年;

=DATEDIF("2012-3-1","2016-4-2","M")——计算结果49,代表两个日期相差49个月;

=DATEDIF("2012-3-1","2016-4-2","YD")——计算结果32,代表两个日期相差32天,忽略年,相当于只计算3月1日到4月2日之间的日期差

在本例中,DATEDIF的作用在于计算身份证号中的日期与今天之间的年份差异。