今天跟大家分享下如何根据身份证号码计算年龄,以此为例跟大家讲解下函数的嵌套。函数的嵌套就是将函数作为另一个函数的参数来使用
一、获取出生日期
1. mid函数提取出生日期
我们都知道身份号码一共是18位,七到十四位是我们出生日期的数字,首先我们必须要将七到十四位的数字提取出来,想要达到这样的效果我们可以使用mid函数
出生日期公式:=MID(A2,7,8)
第一参数:A2,身份证号码所在单元格
第二参数:7,出生日期开始的位数
第三参数:8,提取的字符数的长度
在这我们从身份证号码的第七位开始提取数据,一共提取八位,所以就得到如上图的出生日期这个字符串
2. 转换数据格式
Mid函数是一个文本函数,我们使用这个函数提取出来的数值都是文本格式的数值,这样的话我们是无法使用这个日期来计算具体的年龄的,所以我们还需要将其格式转换为日期格式,这样的话才可以用于计算年龄,转换数据格式我们可以使用text函数来完成
公式:=--TEXT(B2,"0000-00-00")
第一参数:B2,就是我们提取出来的出生日期
第二参数:"0000-00-00",就是将数据以这个格式显示,比如19630202,他将显示为1963-02-02
3. 嵌套公式
在上面我们是通过两个步将结果求出来的,通过函数的嵌套只需要在1个单元格中即可求出结果
公式为:=TEXT(MID(A2,7,8),"0000-00-00")
在这里我们将mid函数嵌套在text函数中,因为我们最终想要得到的结果是一个日期格式的数据,这个日期格式的结果是由text函数来输出的,所以我们将text函数放在最外层
二、计算年龄
上一步我们已经获取了出生日期,计算年龄的话我们只需要用今天的日期减去出生日期即可得到年龄,实现这个效果我们可以使用DATEDIF函数来完成
公式为:=DATEDIF(D2,TODAY(),"Y")
第一参数:D2,就是出生日期
第二参数:today(),这个函数是用来获取当天日期的
第三参数:Y,返回的类型,在这里y就代表年份的差值
在上面的步骤中虽然我们算出了年龄,但是我们使用通过2步将结果算出来的,首先算出出生日期,然后算出年龄,其实这个结果我们也是可以嵌套的,嵌套后的公式为:=DATEDIF(TEXT(MID(A2,7,8),"0000-00-00"),TODAY(),"Y"),对于这个函数我们仅需一步即可算出结果。这个函数你看懂了吗?