EXCEL根据身份证号码自动提取年龄、性别、出生年月的公式(15位、18位通用)
EXCEL根据身份证号码自动提取年龄、性别、出生年月的公式
15位、18位通用)
说明:以身份证号输入到B2单元格为例,如果身份证号输入到F4单元格,请把公式中的B2替换为F4
1、提取年龄公式(15位、18位通用)
公式1:返回虚岁,生日前后返回同样的虚岁年龄
=IF(LEN(B2)=0,"",IF(LEN(B2)=15,year(now())-1900-VALUE(MID(B2,7,2)),if(LEN(B2)=18,year(now())-VALUE(MID(B2,7,4)),"身份证错")))
公式2:返回周岁,生日前后返回不同的周岁年龄
=IF(LEN(B2)=0,"",IF(LEN(B2)=15,DATEDIF(DATE(CONCATENATE("19",MID(B2,7,2)),MID(B2,9,2),MID(B2,11,2)),TODAY(),"Y"),IF(LEN(B2)=18,DATEDIF(DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2)),TODAY(),"Y"),"身份证错")))
excel计算字符串长度函数说明:LEN返回文本字符串中的字符个数。
DATEDIF()计算两个日期之间的天数、月数或年数。
DATE返回代表特定日期的序列号。
CONCATENATE将多个文本字符串合并成一个文本字符串。
MID从文本字符串中指定的位置开始,返回指定长度的字符串。
TODAY返回日期格式的当前日期。
2、提取性别的公式(15位、18位通用)
=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"",""),IF(LEN(B2)=18,IF(MOD(VALUE(MID(B2,15,3)),2)=0,"",""),IF(LEN(B2)=0,"","身份证错")))
函数说明:LEN返回文本字符串中的字符个数。
MOD返回两数相除的余数。结果的正负号与除数相同。
VALUE将代表数字的文本字符串转换成数字。
3、提取出生年月公式(15位、18位通用)
=IF(LEN(B2)=0,"",IF(LEN(B2)=15,CONCATENATE("19",MID(B2,7,2),".",MID(B2,9,2)),IF(LEN(B2)=18,CONCATENATE(MID(B2,7,4),".",MID(B2,11,2)),"身份证错")))
函数说明:LEN返回文本字符串中的字符个数。
CONCATENATE将多个文本字符串合并成一个文本字符串。
MID从文本字符串中指定的位置开始,返回指定长度的字符串。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。