用身份证号码自动判断性别并计算周岁年龄
上一篇讲了从身份证里提取出生日期,这篇再进一步:性别和年龄同样不用手工填。18位身份证的第17位(倒数第二位)是性别码,奇数代表男性,偶数代表女性;而周岁年龄,用出生日期与今天的日期一算便知。
第一步:判断性别
假设身份证号在 A2,在空白单元格输入:
=IF(MOD(MID(A2,17,1),2)=1,"男","女")
MID(A2,17,1) 先把第17位数字取出来,MOD 函数求它除以2的余数:余数为1说明是奇数,返回“男”;余数为0说明是偶数,返回“女”。
第二步:计算周岁年龄
周岁是按生日是否已过来计算的,用 DATEDIF 函数最准确,公式如下:
=DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),TODAY(),"Y")
公式先用 MID 截取出出生年月日并由 DATE 拼成出生日期,TODAY() 代表今天,DATEDIF 两个日期相差的完整年数(参数 Y)就是周岁。今天没过生日的,绝不会虚增一岁。

第三步:向下填充
两个公式都可以用填充柄向下批量复制。性别列、年龄列并排一拖,成百上千人的信息几秒算完,而且年龄会随系统日期自动增长,年年都是最新的。
小提示:兼容15位老身份证时,性别码在第15位,可写 =IF(MOD(MID(A2,IF(LEN(A2)=18,17,15),1),2),“男”,“女”),自动判断号码位数取对应位置。
« 上一篇:从身份证号码中一键提取出生日期
下一篇:给表格做个下拉菜单,录入又快又不出错 »