第一篇:如何在Excel中填写身份证号码后自动提取出生年月日、年龄、性别
如何在Excel中填写身份证号码后自动提取出生年月日、年龄、性别
本公式只适合于18位身份证号码即二代居民身份证。
假如:A1输入身份证号码、B1显示性别、C1显示出生日期、D1显示周岁。(要注意A1、B1、C1、D1分别对应A列1行B列1行C列1行D列1行,如你的A1单元格不为你的表格第一项身份证编号则需将A1替换成你选取的单元格)
需要设置:A1单元格为文本格式、B1和D1为常规格式、C1为日期格式。(选中列右键设置单元格格式可选取格式)
1、显示性别:
B1输入公式:
=IF(A1=“",”“,IF(AND(LEN(A1)<>15,LEN(A1)<>18),”错误
“,IF(ISERROR(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),”#-00-00“))),”错误
“,IF(OR((1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),”#-00-00“)))
2、C1输入公式:
=IF(A1=”“,”“,IF(AND(LEN(A1)<>15,LEN(A1)<>18),”错误
“,IF(ISERROR(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),”#-00-00“))),”错误
“,IF(OR((1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),”#-00-00“)))
3、D1输入公式:
=IF(ISERROR(1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),”#-00-00“))),”错误
“,IF(OR((1*(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),”#-00-00“)))
“,DATEDIF(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),”#-00-00“),TODAY(),”y")))
注意:A1、B1、C1、D1分别对应A列1行B列1行C列1行D列1行,如你的A1单元格不为你的表格第一项身份证编号则需将A1替换成你选取的单元格
如下图
那么上述B1、C1、D1输入函数中应将A1替换成F4即可。(替换简便方法:ctrl+F键调出查找对话框选择—替换—查找内容填A1—替换填你填写身份证号码的第一项单元格名称)
第二篇:利用身份证号自动提取出生日期和年龄性别
在excel表格中,根据身份证号码就可以自动提取出生年月、性别、年龄。
第一,身份证号码的组成。
当今的身份证号码由18位数字组成:前6位为地址码,第7至14位为出生日期码,第15至17位为顺序码,第18位为校验码。
15~17位为顺序号,其中第17位如果是单数为男性分配码,双数为女性分配码。即通过第17位数字,可以判断性别,奇数为男,偶数为女。
下面以实例的方式讲解如何根据身份证号码自动提取出生年月、性别、年龄。首先,在excel中输入以下表格,实例如下面所示。
A
B
C
D
E
姓名
身份证号码
出生日期
性别
年龄
张三
***786
1972年05月03日
女
第二,根据身份证号码自动提取出生年月
在目标单元格输入公式:
=MID(B2,7,4)&“年”&MID(B2,11,2)&“月”&MID(B2,13,2)&“日”,回车确定,单元格内会出现与身份证号码相关的出生日期。其它单元格的填充,不必一一输入公式,只需选中该单元格复制,在其它单元格内粘贴即可。
提示:MID函数是提供的一个“从字符串中提取部分字符”的函数命令。
第三,根据身份证号码自动提取性别的方法
在目标单元格输入公式:
=IF(MOD(RIGHT(LEFT(B2,17)),2),“男”,“女”)
提示:IF函数:根据逻辑表达式测试的结果,返回相应的值。IF函数允许嵌套。
RIGHT函数:根据所指定的字符数返回文本串中最后一个或多个字符。
第四,根据身份证号码自动提取年龄的方法
在目标单元格输入公式:=DATEDIF(TEXT(MID(B2,7,6+2*(LEN(B2)=18)),“#-00-00”),NOW(),“y”),回车确定。
第三篇:如何在Excel里根据身份证号码自动填写性别、出生年月、年龄
如何在Excel里根据身份证号码自动填写性别、出生年月、年龄
一、分析身份证号码
其实,身份证号码与一个人的性别、出生年月、籍贯等信息是紧密相连的,无论是15位还是18位的身份证号码,其中都保存了相关的个人信息。
15位身份证号码:第7、8位为出生年份(两位数),第9、10位为出生月份,第11、12位代表出生日期,第15位代表性别,奇数为男,偶数为女。
18位身份证号码:第7、8、9、10位为出生年份(四位数),第11、第12位为出生月份,第13、14位代表出生日期,第17位代表性别,奇数为男,偶数为女。
例如,某员工的身份证号码(15位)是***,那么表示1972年8月7日出生,性别为女。如果能想办法从这些身份证号码中将上述个人信息提取出来,不仅快速简便,而且不容易出错,核对时也只需要对身份证号码进行检查,肯定可以大大提高工作效率。
二、提取个人信息
这里,我们需要使用IF、LEN、MOD、MID、DATE等函数从身份证号码中提取个人信息。如图1所示,其中员工的身份证号码信息已输入完毕(C列),出生年月信息填写在D列,性别信息填写在B列。
1.提取出生年月信息
由于上交报表时只需要填写出生年月,不需要填写出生日期,因此这里我们只需要关心身份证号码的相应部位即可,即显示为“7208”这样的信息。在D2单元格中输入公式
“=IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4))”,其中:
LEN(C2)=15:检查C2单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位。
MID(C2,7,4):从C2单元格中字符串的第7位开始提取四位数字,本例中表示提取15位身份证号码的第7、8、9、10位数字。
MID(C2,9,4):从C2单元格中字符串的第9位开始提取四位数字,本例中表示提取18位身份证号码的第9、10、11、12位数字。
IF(LEN(C2)=15,MID(C2,7,4),MID(C2,9,4)):IF是一个逻辑判断函数,表示如果C2单元格是15位,则提取第7位开始的四位数字,如果不是15位则提取自第9位开始的四位数字。
如果需要显示为“70年12月”这样的格式,请使用DATE格式,并在“单元格格式→日期”中进行设置。
2.提取性别信息
由于报表中各位员工的序号编排是按照上级核定的编制进行的,因此不可能按照男、女固定的顺序进行编排,如果一个一个手工输入的话,既麻烦又容易出错
例如性别信息统一在B列填写,可以在B2单元格中输入公式
“=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,“男”,“女”)”,其中:
LEN(C2)=15:检查身份证号码的长度是否是15位。
MID(C2,15,1):如果身份证号码的长度是15位,那么提取第15位的数字。
MID(C2,17,1):如果身份证号码的长度不是15位,即18位身份证号码,那么应该提取第17位的数字。
MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2):用于得到给出数字除以指定数字后的余数,本例表示对提出来的数值除以2以后所得到的余数。
IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,“男”,“女”):如果除以2以后的余数是1,那么B2单元格显示为“男”,否则显示为“女”。
回车确认后,即可在B2单元格显示正确的性别信息,接下来就是选中填充柄直接拖曳。如图2所示,现在这份报表无论是提取信息或是核对,都方便多了
第四篇:Excel中根据身份证号码自动填出生日期、性别、年龄
Excel中根据身份证号码自动填出生日期、性别、计算年龄
出生日期:F2=DATE(MIDB(E2,7,4),MIDB(E2,11,2),MIDB(E2,13,2))自动录入男女:=IF(MOD((IF(LEN(e2)=18,MID(e2,17,1),MID(e2,15,1))),2)=0,“女”,“男”)计算年龄:=IF(LEN(B2)=15,109-VALUE(MID(B2,7,2)),if(LEN(B2)=18,2009-VALUE(MID(B2,7,4)),“身份证错”))
说明:VALUE将一个文本字符串转换成数值,LEN返回文本字符串中的字符个数,MID从文本字符串中指定的起始位置起返回指定长度的字符,MID(文本,开始字符,所取字符数)。109表示当前日期为2009年,如果是2010年则改为110,2009表示当前日期为2009年。DATE代表日期的数字,MIDB自文字的指定起始位置起提取指定长度的字符串
第五篇:Excel中利用身份证号码提取出生日期和性别
Excel中利用身份证号码(15或18位)提取出生日期和性别
如何使用Excel从身份证号码中提取出生日期2009-02-27 22:52例如:从身份证***616中提取出生日期来,如何快速得出?
呵呵,只需使用语句:=DATE(mid(A1,7,4),mid(A1,11,2),mid(A1,13,2))【A1是身份证号码所在单元格】
date()函数,地球人都知道,日期函数;如输入今天的日期=today()
那么,mid函数是什么东东呢?
MID(text,start_num,num_chars)
Text 为包含要提取字符的文本字符串;Start_num 为文本
中要提取的第一个字符的位置。文本中第一个字符的start_num 为1,以此类推;Num_chars指定希望MID 从文本中返回字符的个数。
对身份证号码分析下就知道:***616,出生日期是1992年2月6日;也就是 从字符串(***616)的第7位开始的4位数字表示年,从字符串的第11位开始的2位数字表示月,字符串的第13位开始的2位数字表示日。呵呵,强悍吧!Excel中利用身份证号码(15或18位)提取出生日期和性别
需要的函数:
LEN(C6)=15:检查C6单元格中字符串的字符数目,本例的含义是检查身份证号码的长度是否是15位;
INT:返回数值向下取整为最接近的整数,本例中用来判断身份证里数值的奇偶数。RIGHT:返回文本字符串最后一个字符开始指定个数的字符;
MID:返回文本字符串指定起始位置起指定长度的字符,MID(C6,7,2)表示:在C3中从左边第七位起提取2位数;
“19”&MID(C6,7,2)表示:在C3中从左边第七位起提取2位数的前面添加19;
„„
&“"&表示:其左右两边所提取出来的数字不用任何符号连接;
&”-“&表示:其左右两边所提取出来的数字间用“-”符号连接。若需要的日期格式是yyyy年mm月dd日,则可以把公式中的“-”分别用“年月日”进行替换就行了。
一、提取出生日期
如果我们要从一个人的身份证号码中批量提取其出生年月日,并表示成“yyyy-mm-dd”形式,可以这样做,假设身份证号码在C列,在D列中输入公式=IF(LEN(C6)=15,”19“&MID(C6,7,2)&”-“&MID(C6,9,2)&”-“&MID(C6,11,2),MID(C6,7,4)&”-“&MID(C6,11,2)&”-“&MID(C6,13,2)),这个公式的含义就是,当其检查到C6单元格中的数据是15位的时,就显示”19“&MID(C6,7,2)&”-“&MID(C6,9,2)&”-“&MID(C6,11,2)的计算结果,否则就显示MID(C6,7,4)&”-“&MID(C6,11,2)&”-“&MID(C6,13,2)的计算结果。如:若C6单元格中是***,在D6单元格中计算出的结果是“1950-01-12”;若C6单元格中是***794,在D6单元格中计算出的结果是“1945-11-16”。
二、提取性别
在E6单元格输入公式=IF(LEN(C6)=15,IF(RIGHT(C6)/2=INT(RIGHT(C6)/2),”女“,”男“),IF(MID(C6,17,1)/2=INT(MID(C6,17,1)/2),”女“,”男“))这个公式的含义是如果C6单元格是一个15位数,就显示IF(RIGHT(C6)/2=INT(RIGHT(C6)/2),”女“,”男“)的计算结果;否则,显示IF(MID(C6,17,1)/2=INT(MID(C6,17,1)/2),”女“,”男“))的计算结果。
最后把D6和E6单元格的公式向下拉下来,在C6列输入身份证号码后,出生日期和性别可自动输入了,这样就减少了用户输入数据工作量,提高了办事效率!
根据身份证号码让Excel自动输入出生日期和性别
办公室人事文员有时要输入很多员工的人事资料,每输完臃长的身份证号后又要输入员工出生年月日和性别,这样无疑增加了工作量,有没有办法让出生日期和性别自动输入呢?其实用Excel公式即可轻松解决问题!
众所周知,我国身份证号码里有每个人的出生日期和性别等信息:老式的身份证号是15位数,第7位到12位是出生年月日,最后一位如果是偶数就代表女生,奇数就是代表男性;新式身份证号是18位数,第7位到14位是出生日期,倒数第二位的偶数或奇数代表女性或男性。既然存在这样的规律,用Excel函数就可轻松实现根据身份证号自动输入出生日期和性别。
本例中所需要函数:
LEN:返回文本字符串的个数,本例中用来计算身份证的位数
MID:返回文本字符串指定起始位置起指定长度的字符,本例中用来计算身份证号中出生日期的字符;
INT:返回数值向下取整为最接近的整数,本例中用来判断身份证里数值的奇偶数.RIGHT:返回文本字符串最后一个字符开始指定个数的字符,本例中来计算身份证号最后一位数.如果A3单元格是身份证号码,B3单元格为出生日期,C3单元格为性别,那么在B3中输入公式=IF(LEN(A3)=18,MID(A3,7,4)&”年“&MID(A3,11,2)&”月“&MID(A3,13,2)&”日“,”19“&MID(A3,7,2)&”年“&MID(A3,9,2)&”月“&MID(A3,11,2)&”日“),这个公式的含义是,如果A3单元格是一个18位数IF(LEN(A3)=18)那么从第7位数开始得到的4位数就是年份MID(A3,7,4)后面再加上文字&”年”,月日依此类推,否则,A3单元格为15位数,就执行”19“&MID(A3,7,2)&”年“&MID(A3,9,2)&”月“&MID(A3,11,2)&”日“)含义与18位相似.只是在年MID(A3,7,2)前面要加上"19"
在C3单元格输入公式=IF(LEN(A3)=18,IF(MID(A3,17,1)/2=INT(MID(A3,17,1)/2),”女“,”男“),IF(RIGHT(A3)/2=INT(RIGHT(A3)/2),”女“,”男“))这个公式的含义是如果A3单元格是一个18位数IF(LEN(A3)=18)就执行IF(MID(A3,17,1)/2=INT(MID(A3,17,1)/2),”女“,”男“),其中如果A3单元格第17位数(身份证号倒数第二位)除以二MID(A3,17,1)/2等于一个整数INT(MID(A3,17,1)/2),那么第17位为偶数,即是”女”,否则是奇数,即为”男”;否则A3单元格是15位数,就执行IF(RIGHT(A3)/2=INT(RIGHT(A3)/2),”女“,”男“),其中RIGHT(A3)含义是返回A3单元格从右往左的第一位数,即身份证最后一位数.其余含意跟上面18位数一样.最后把B3和C3单元格的公式向下拉下来,在A3列输入身份证号码后,出生日期和性别可自动输入了,这样就减少了用户输入数据工作量,提高了办事效率!
年龄查找:
A1输入份证号.B1输入下面公式.可以计算此人现在的年纪.=TEXT(DATEDIF(TEXT(IF(LEN(A1)=18,MID(A1,7,8),”19“&MID(A1,7,6)),”0000-00-00“),TODAY(),”Y“),”@")