这里,属于我的小世界

现实是强者的世界,网络是草根的天堂。安静地做一个爱捣鼓的人。

🍂 枯叶阁 ✕
📧 联系博主 ✕
不方便写邮件?点击直接联系博主: QQ

用身份证号码自动判断性别并计算周岁年龄

🍂 枯叶 📅 2026-10-01 📁 教程指南 👁️ 60 阅读 🏷️ Excel 身份证 函数

上一篇讲了从身份证里提取出生日期,这篇再进一步:性别和年龄同样不用手工填。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),“男”,“女”),自动判断号码位数取对应位置。