分享

从身份证号中提取性别和年龄

 hercules028 2022-07-06 发布于四川

小伙伴们好啊,今天老祝为大家准备了一组和身份证有关的函数公式,看看如何从身份证号码中提取出需要的信息。

如下图为所示,是一份模拟的员工信息表,A列是姓名,B列是身份证号码,C列是职级。
Image

1、提取出生年月
D2输入以下公式,向下复制。
=--TEXT(MID(B2,7,8),'0-00-00')
Image
身份证号码中的第8位到15位是出生年月信息。
首先使用MID函数从A2单元格的第7位开始,提取出8个字符,得到字符 '19820102'。 再使用TEXT函数将这个字符串变成日期样式的文本,得到字符串“1982-01-02”。
由于TEXT函数的结果是文本型的内容,所以加上两个小减号 -- ,也就是计算负数的负数,通过四则运算,变成真正的日期序列。这样做的目的是为了便于后续的统计汇总。
如果公式结果显示为5位数字,别忘了设置一下单元格格式为日期。

2、计算年龄
计算年龄时,可以借助刚刚已经提取出的出生年月,E2单元格输入以下公式,向下复制。
=DATEDIF(D2,'2020-10-1','y')
Image
DATEDIF函数用于计算两个日期之间的间隔。用法是:
=DATEDIF(起始日期,截止日期,指定间隔类型)
本例中起始日期是D2的出生年月,截止日期是2020年1月1日。指定间隔类型为“Y”,表示计算间隔整年份。如果是“M”,就表示计算间隔的整月份了。
DATEDIF函数是隐藏函数,输入时没有屏幕提示,需要手工录入哦。
如果不借助D列的出生年月,公式可以这样写:
=DATEDIF(TEXT(MID(B2,7,8),'0-00-00'),'2020-10-1','y')

3、提取性别
使用以下公式,可以提取出员工的性别信息:
=IF(MOD(MID(B2,17,1),2),'男','女')
Image
身份证号码中的第17位是性别信息,单数表示男,双数表示女。
首先使用MID函数,从B2单元格的第17位开始,提取出1个字符。
再使用MOD函数计算这个字符与2相除的余数。
最后使用IF函数判断,如果余数不等于0,返回男,如果余数是0,则返回女。 

4、计算退休年月
接下来,咱们要根据提取出的出生年月和性别以及职级信息,来计算退休年月,根据现有法规,男性退休年龄为60岁,女性干部退休年龄为55岁,女性年退休为50岁。
G2输入以下公式,向下复制。
=EDATE(D2,IF(F2='男',720,IF(F2&C2='女干部',660,600)))
Image
EDATE函数的作用是根据指定的起始日期和间隔月份,计算从指定日期开始,间隔N个月后的日期。
本例中,指定起始日期是D2单元格的出生年月。
间隔月份的公式部分是:
IF(F2='男',720,IF(F2&C2='女干部',660,600))
这部分看起来有点小复杂,咱们慢慢拆解一下:
先用IF函数判断F2单元格的性别是不是等于'男',如果是,返回720(720个月,也就是60岁)。
如果不等于'男',就继续判断F2的性别连接C2的职级,是不是等于'女干部',如果是,返回660(660个月,也就是55岁),如果不等于'女干部',就返回600(600个月,即50岁)。

图文制作:祝洪忠

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多