admin 管理员组文章数量: 1086019
2024年3月21日发(作者:视频搬运的素材网站)
在excel中如何从身份证号码里提取出出生年月日
在excel中如何从身份证号码里提取出出生年月日及性别等
假如,A1是姓名,B1是身份证号码,C1是出生年月
可以用以下公式求出 =IF(LEN(B2)=15,"19"&MID(B2,7,2)&"年
"&MID(B2,9,2)&"月"&MID(B2,11,2)&"日",MID(B2,7,4)&"年"&MID(B2,11,2)&"月
"&MID(B2,13,2)&"日")
在C2设置单元格格式为“日期”即可在C2中正确提取出其出生年月
2EXCEL从身份证号码求出生年月日、性别及年龄公式2007-11-26 16:40EXCEL中用
身份证号码求出生年月日及年龄公式2007年11月21日 星期三 17:17一、分析身份证
号码
其实,身份证号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15
位还是18位的身份证号码,其中都保存了相关的个人信息。
15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、
12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月
份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
例如,某员工的身份证号码(15位)是324,那么表示1972年8月7
日出生,性别为女。如果能想办法从这些身份证号码中将上述个人信息提取出来,不仅快
速简便,而且不容易出错,核对时也只需要对身份证号码进行检查,肯定可以大大提高工
作效率。
二、提取个人信息
这里,我们需要使用IF、LEN、MOD、
MID、DATE等函数从身份证号码中提取个人信息。如图1所示,其中员工的身份证
号码信息已输入完毕(C列),出生年月信息填写在D列,性别信息填写在B列。
1. 提取出生年月日信息
由于上交报表时只需要填写出生年月,不需要填写出生日期,因此这里我们只需要关
心身份证号码的相应部位即可,即显示为“720807”这样的信息。在D2单元格中输入公
式
=IF(LEN(A1)=15,19&MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID(A1,7,4
)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2))其中:
LEN(A1)=15:检查C2单元格中字符串的字符数目,本例的含义是检查身份证号码的
长度是否是15位。
MID(A1,7,4):从C2单元格中字符串的第7位开始提取四位数字,本例中表示提取
15位身份证号码的第7、8、9、10位数字。
MID(A1,9,4):从C2单元格中字符串的第9位开始提取四位数字,本例中表示提取
18位身份证号码的第9、10、11、12位数字。
IF(LEN(A1)=15,MID(A1,7,4),MID(A1,9,4)):IF是一个逻辑判断函数,表示如果A1
单元格是15位,则提取第7位开始的四位数字,如果不是15位则提取自第9位开始的四
位数字。
&为连接符“”中的字符为原样输出
2. 提取性别信息
由于报表中各位员工的序号编排是按照上级核定的编制进行的,因此不可能按照男、
女固定的顺序进行编排,如果一个一个手工输入的话,既麻烦又容易出错
例如性别信息统一在B列填写,可以在B2单元格中输入公式
“=IF(MOD(IF(LEN(A1)=15,MID(A1,15,1),MID(A1,17,1)),2)=1,"男","女")”,其中:
LEN(A1)=15:检查身份证号码的长度是否是15位。
MID(A1,15,1):如果身份证号码的长度是15位,那么提取第15位的数字。
MID(A1,17,1):如果身份证号码的长度不是15位,即18位身份证号码,那么应该提
取第17位的数字。
MOD(IF(LEN(A1)=15,MID(A1,15,1),MID(A1,17,1)),2):用于得到给出数字除以指定
数字后的余数,本例表示对提出来的数值除以2以后所得到的余数。
IF(MOD(IF(LEN(A1)=15,MID(C2,15,1),MID(A1,17,1)),2)=1,"男","女"):如果除以2
以后的余数是1,那么B2单元格显示为“男”,否则显示为“女”。
回车确认
3.提取年龄
=YEAR(TODAY())-VALUE(IF(LEN(A1)=15,19&MID(A1,7,2),MID(A1,7,4)))
-------------------------------------------------------------------------------------
---------------------
Excel函数提取身份证数据公式
出生年月:(身份证为18位的)
E2=MID(A2,7,4)&"年"&MID(A2,11,2)&"月"MID(A2,13,2)&"日"E2=MID(A2,7,
8)
答案说明:
表中用身份证号码中取其中的号码用:MID(文本,开始字符,所取字符数);
2.15位身份证号从第7位到第12位是出生年月日,年份用的是2位数。
18位身份证号从第7位到第14位是出生的年月日,年份用的是4位数。
从身份证号码中提取出表示出生年、月、日的数字,用文本函数MID()可以达到目的。
MID()——从指定位置开始提取指定个数的字符(从左向右)。
对一个身份证号码是15位或是18位进行判断,用逻辑判断函数IF()和字符个数计算
函数LEN()辅助使用可以完成。综合上述分析,可以通过下述操作,完成形如1978-12-24
样式的出生年月日自动提取:假如身份证号数据在C2单元格
=IF(LEN(C2)=15,MID(C2,7,2)&"-"&MID(C2,9,2)&"-"&MID(C2,11,2),MID(C2,7,4
)&"-"&MID(C2,11,2)&"-"&MID(C2,13,2))
根据身份证号码(15位和18位通用)自动提取性别的自编公式:
说明:公式中的C2是身份证号
根据身份证号码求性别:
=IF(LEN(C2)=15,IF(MOD(VALUE(RIGHT(C2,3)),2)=0,"女","男
"),IF(LEN(C2)=18,IF(MOD(VALUE(MID(C2,17,1)),2)=0,"女","男"),"身份证错"))
18位的还可以直接输入公式提取性别:=IF(MOD(MID(C2,17,1),2)=0,"
女","男")根据身份证号码求年龄:
=IF(LEN(C2)=15,2007-VALUE(MID(C2,7,2)),if(LEN(C2)=18,2007-VALUE(MID(C2
,7,4)),"身份证错"))
表中用YearMonthDay函数取相应的年月日数据;
5.籍贯
公式一共使用了五个嵌套的IF函数,第一个IF函数中的逻辑判断式“MID(C2,1,
2)<="15"”用来判断身份证归属地代码是否在11到15之间。如果这个逻辑判断式成立,
那么公式就执行参数“CHOOSE(MID(C2,1,2)-10,"北京","天津","河北","山
西","内蒙古")”。其中“(MID(C2,1,2)”返回身份证归属地(省市区)的代码
(即身份证号码的前两位),如果(MID(C2,1,2)返回的结果是11(即北京市的代码),
那么“MID(C2,1,2)-10”返回供CHOOSE函数使用的索引号。当“MID(C2,1,
2)-10”的结果是“1”时,CHOOSE函数就会返回后面参数表中的身份证归属地“北
京”。另外一个根据身份证提取出生年月很简单的一个公式:
=TEXT(MID(a1,7,8),"0000-00-00")
版权声明:本文标题:在excel中如何从身份证号码里提取出出生年月日 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1711003421a583689.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论