上一节我们说通过身份证号获取了出生日期,这一节我们根据出生日期计算一个人的年龄。
涉及到的函数:
1、日期函数:Today():返回当前系统的日期
Year():获取当前年份
Month():获取当前月份
2、逻辑函数:If()函数:执行逻辑判断,它可以根据逻辑表达式的真假,返回不同的结果,从而执行数值或公式的条件检测任务。
语法:IF(logical_test,value_if_true,value_if_false)
参数:①logical_test:计算结果为true或false的任何数值或者表达式,一般数值大于0表示真true,0或者小于表示false;
②value_if_true:参数logical_test结果为true时,返回的值;
③value_if_false:参数logical_test结果为false时,返回的值;
3、文本和数据函数:mid()函数(在Execl第六课中有该函数的相关介绍)
下面我们进入正题,通过出生日期计算一个人的年龄,分为精确到年计算法和精确到月计算法,在一般日常管理中,计算人的年龄精确到月即可,如果精确到日则if()函数逻辑会较为繁琐。
第一种:根据出生日期计算年龄精确到年份
(1)设置单元格格式为“数值”,不保留小数
(2)通过today()函数获取当前系统时间,然后通过year()函数获取年份,函数为
year(today())
(3)通过mid()函数截取出生日期中的年份,假设出生日期所在单元格为E3
mid(E3,1,4)
(4)直接计算年龄,最终函数为:
year(today())-mid(E3,1,4)
根据出生日期计算年龄精确到年份
第二种:根据出生日期计算年龄精确到月份
在教学以前,我们首先要理顺思路,计算年龄精确到月份,即假设嬴政是1968年5月出生的,当前日期为2021年6月,当前日期的月份大于等于嬴政出生的月份,则嬴政年满53周岁;如果当前日期为2021年3月,当前日期的月份小于嬴政出生的月份,则嬴政未满53周岁,应为52周岁。
我们依照这个思路,在第一种方法的基础上加入if()函数、month()函数,分步骤的进行分解:
(1)设置单元格格式为“数值”,不保留小数
(2)通过year(today())函数获取当前年份,通过month(today())函数获取当前月份
(3)假设出生日期所在单元格为E3,通过mid(E3,1,4)函数截取出生日期中的年份,mid(E3,6,2)函数截取出生日期中的月份
(4)用if()函数开始进行逻辑判断:
当month(today())-mid(E3,6,2)>=0时,if()函数返回
year(today())-mid(E3,1,4)
当month(today())-mid(E3,6,2)<0时,if()函数返回
year(today())-mid(E3,1,4)-1
(5)我们形成的函数最终应该为
if(month(today())-mid(E3,6,2)>=0,year(today())-mid(E3,1,4),year(today())-mid(E3,1,4)-1)
,