一、两种方式计算年龄
首先我们了解一下身份证号码包含的信息:
身份证号码第7至14位是出生年月日,共8个数字。参考文中示例,张三的出生日期是19870801,即1987年8月1日出生。当前系统时间是2022年7月18日,只根据年份粗略计算,当前35岁;精确计算只有34岁,要到8月1日才满35岁。具体分析如下:
(一)粗略计算。简单的通过年份相减计算,不考虑月份。
公式
=YEAR(TODAY())-MID(C2,7,4)
TODAY()表示今天(当前)的日期,即20220718。
YEAR(TODAY())表示提取20220718中间 年份,即2022;
MID(C2,7,4)的意思是从C2单元格的第7位开始提取数值,提取4个数字,即1987。
=YEAR(TODAY())-MID(C2,7,4)
=YEAR(2022-1987)
值为35
(二)精确计算。精确到年月日。
公式
=DATEDIF(TEXT(MID(C3,7,8),”0-00-00″),TODAY(),”y”)
MID(C3,7,8)的意思是从C3单元格的第7位开始提取数值,提取8个数字,即19870801。
TEXT(MID(C3,7,8),”0-00-00″)的意思是把19870801转换成”1987-08-01″这样的格式,便于特定格式的计算。
TODAY()的值为”2022-07-18″。
“y”是“year”的意思,就是计算年份。
DATEDIF公式是把两个日期数据相减,即”1987-08-01″减”2022-07-18″,值为34。
=DATEDIF(TEXT(MID(C3,7,8),”0-00-00″),TODAY(),”y”)
=DATEDIF(“1987-08-01″,”2022-07-18″,”y”)
值为34
二、判断性别
公式
=IF(MOD(MID(C3,17,1),2),”男”,”女”)
身份证号码倒数第2位表示性别,单数表示男性,双数表示女性。
MID(C3,17,1)就是提取倒数 2 数值。文中示例数据为1。
MOD(MID(C3,17,1),2) 是数学中除以2取余的意思。单数除以2余1,双数除以2余0。
IF()函数表示判断,单数除以2余1表示男性,双数除以2余0表示女性。
=IF(MOD(MID(C3,17,1),2),”男”,”女”)
=IF(1,”男”,”女”)
值为”男”
演示文件下载链接: