前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

效率飙升:从身份证号码提取年龄、生肖及退休日期的6个高效公式

qiguaw 2025-04-11 05:58:33 资源文章 10 ℃ 0 评论

一、提取出生日期

场景:根据身份证号码,需要知道出生日期。

示例:

=--TEXT(A1,"0000-00-00")

解析:

TEXT(A1,"0000-00-00")将8位数字“20250324”转换为文本“2025-03-24”。

添加双负号“--”作用是将文本转换为真正的日期。

二、计算年龄

场景:根据身份证号码,需要知道年龄。

公式:

=DATEDIF(TEXT(MID(A1,7,8),"0000-00-00"),TODAY(),"Y")

解析:

MID(A1,7,8)提取出生日期,再用TEXT转换为日期格式,返回结果作为DATEDIF函数的第一参数开始日期;

TODAY()返回当前日期作为第二参数终止日期;

第三参数“Y”表示计算两个日期间隔年数。

三、计算性别

场景:根据身份证号码,需要知道性别。

公式:

=IF(MOD(MID(A1,17,1),2)=1,"男","女")

解析:

MID(A1,17,1)提取身份证号码第17位数字,用MOD计算除以2的余数,如果等于1表示性别为“男”,否则为“女”。

四、计算退休日期

场景:根据身份证号码,需要知道退休日期。

公式:

=EDATE(TEXT(MID(A1,7,8),"0000-00-00"),IF(MOD(MID(A1,17,1),2)=1,63,58)*12)

解析:

TEXT(MID(A1,7,8),"0000-00-00")提取身份证号码出生日期,作为EDATE函数的第一参数开始日期;

IF(MOD(MID(A1,17,1),2)=1,63,58)*12提取身份证号码第17位,计算除以2的余数,如果等于1返回63*12的结果作为开始日期之后的月数;否则等于58*12的结果作为月数。

五、计算退休时的工作年限

场景:根据身份证号码,需要知道退休时的工作年限。

公式:

=LET(a,"2010-8-16",b,EDATE(TEXT(MID(A1,7,8),"0000-00-00"),IF(MOD(MID(A1,17,1),2)=1,63,58)*12),DATEDIF(a,b,"Y")&"年"&DATEDIF(a,b,"YM")&"个月")

解析:

LET定义参加工作时间为a,理论退休日期为b,再用DATEDIF计算两个日期之间间隔的年数和多余的月数,结果返回实际工作年限。

六、计算生肖

场景:根据身份证号码,提取出生年份计算生肖。

公式:

=MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",MOD(MID(A1,7,4)+8,12)+1,1)

解析:

MID第一参数为按顺序排列的十二生肖;

第二参数MOD(MID(A1,7,4)+8,12)+1为提取的年份加8的和,除以12得到余数,再加1,目的是根据年份计算得到1到12中的任一整数。

以2000年为例,加8得到2008,除以12得到余数4,再加1返回5;即对应提取出第5个生肖为“龙”。

注:部分公式需要结合工作实际自行调整参数。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表