第一篇:excel中由身份证号求出生日期、性别、年龄
在EXCEL2003中把数字转换成日期
1。假定A2为文本数字,B2存放转换后的日期。请在B2输入公式:
=DATE(MID(A2,1,4),MID(A2,5,2),MID(A2,7,2))
=DATE(MID(H2,1,4),MID(H2,5,2),MID(H2,7,2))
2。把B2设置成你要的格式。右击B2单元格-----选“设置单元格格式”----选“数字”下的“自定义”-----在“类型”框中输入 “YYYY-MM-DD-”
(引号不要输入)-----点“确定”。
格式为“**年**月”的:
设A列是身份证号,可在B1输入:
=IF(LEN(A1)=15,MID(A1,7,2)&“年”&MID(A1,9,2)&“月”,MID(A1,9,2)&“年”&MID(A1,11,2)&“月”)
再将公式向下复制即可。
格式为“****年**月”的:
=IF(LEN(A1)=15,“19”&MID(A1,7,2)&“年”&MID(A1,9,2)&“月
”,“19”&MID(A1,9,2)&“年”&MID(A1,11,2)&“月”)
再将公式向下复制即可。
如果你再想限制身份证号输入错误,可用这个公式:
=IF(OR(LEN(A1)=15,LEN(A1)=18),IF(LEN(A1)=15,MID(A1,7,2)&“年
”&MID(A1,9,2)&“月”,MID(A1,9,2)&“年”&MID(A1,11,2)&“月”),“证号错误”)这样只要输入的证号不是15位或18位就提示了。
判别性别。
这个公式是先对存放身份证的单元格A1进行判断是15位号还是18的号,然后再对性别代码进行奇偶性判断。
=IF(LEN(A1)=15,IF(MOD(RIGHT(A1,1),2)=1,“男”,“女
”),IF(MOD(MID(A1,17,1),2)=1,“男”,“女”))
(1)根据身份证号码求性别 :
=IF(VALUE(RIGHT(B2,3))/2=INT(VALUE(RIGHT(B2,3))/2),“女”,“男”)
(2)根据身份证号码求出生日期:
=CONCATENATE(MID(B2,7,4),“年”,MID(B2,11,2),“月”,MID(B2,13,2),“日”)
(3)根据身份证号码求出年龄:
=CONCATENATE(DATEDIF(D2,TODAY(),“y”),“周岁”)
或=DATEDIF(D3,TODAY(),“y”)
1、身份证号码相关知识
在了解如何实现自动从身份证号码中提取出生年月、性别信息之前,首先需要了解身份证号码所代表的含义。我们知道,当今的身份证号码有15/18位之分。早期签发的身份证号码是15位的,现在签发的身份证由于年份的扩展(由两位变为四位)和末尾加了效验码,就成了18位。这两种身份证号码将在相当长的一段时期内共存。两种身份证号码的含义如下:
(1)15位的身份证号码:1~6位为地区代码,7~8位为出生年份(2位),9~10位为出生月份,11~12位为出生日期,第13~15位为顺序号,并能够判断性别,奇数为男,偶数为女。
(2)18位的身份证号码:1~6位为地区代码,7~10位为出生年份(4位),11~12位为出生月份,13~14位为出生日期,第15~17位为顺序号,并能够判断性别,奇数为男,偶数为女。18位为效验位。
2、应用函数
在此例中为了实现数据的自动提取,应用了如下几个Excel函数。
(1)IF函数:根据逻辑表达式测试的结果,返回相应的值。IF函数允许嵌套。
语法形式为:IF(logical_test, value_if_true,value_if_false)
(2)CONCATENATE:将若干个文字项合并至一个文字项中。
语法形式为:CONCATENATE(text1,text2„„)
(3)MID:从文本字符串中指定的起始位置起,返回指定长度的字符。语法形式为:MID(text,start_num,num_chars)
(4)TODAY:返回计算机系统内部的当前日期。
语法形式为:TODAY()
(5)DATEDIF:计算两个日期之间的天数、月数或年数。
语法形式为:DATEDIF(start_date,end_date,unit)
(6)VALUE:将代表数字的文字串转换成数字。
语法形式为:VALUE(text)
(7)RIGHT:根据所指定的字符数返回文本串中最后一个或多个字符。语法形式为:RIGHT(text,num_chars)
(8)INT:返回实数舍入后的整数值。语法形式为:INT(number)
4、公式写法及解释(以员工Andy为例说明)
说明:为避免公式中过多的嵌套,这里的身份证号码限定为15位的。如果您看懂了公式的话,可以进行简单的修改即可适用于18位的身份证号码,甚至可适用于15、18两者并存的情况。
(1)根据身份证号码求性别
=IF(VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2),“女”,“男”)
公式解释:a.RIGHT(E4,3)用于求出身份证号码中代表性别的数字,实际求得的为代表数字的字符串
b.VALUE(RIGHT(E4,3)用于将上一步所得的代表数字的字符串转换为数字 c.VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2用于判断这个身份证号码是奇数还是偶数,当然你也可以用Mod函数来做出判断。
d.=IF(VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2),“女”,“男”)及如果上述公式判断出这个号码是偶数时,显示“女”,否则,这个号码是奇数的话,则返回“男”。
(2)根据身份证号码求出生日期
=CONCATENATE(“19”,MID(E4,7,2),“/”,MID(E4,9,2),“/”,MID(E4,11,2))公式解释:a.MID(E4,7,2)为在身份证号码中获取表示年份的数字的字符串 b.MID(E4,9,2)为在身份证号码中获取表示月份的数字的字符串
c.MID(E4,11,2)为在身份证号码中获取表示日期的数字的字符串
d.CONCATENATE(“19”,MID(E4,7,2),“/”,MID(E4,9,2),“/”,MID(E4,11,2))目的就是将多个字符串合并在一起显示。
(3)根据参加工作时间求年资(即工龄)
=CONCATENATE(DATEDIF(F4,TODAY(),“y”),“年
”,DATEDIF(F4,TODAY(),“ym”),“个月”)
公式解释:
a.TODAY()用于求出系统当前的时间
b.DATEDIF(F4,TODAY(),“y”)用于计算当前系统时间与参加工作时间相差的年份
c.DATEDIF(F4,TODAY(),“ym”)用于计算当前系统时间与参加工作时间相差的月份,忽略日期中的日和年。
d.=CONCATENATE(D
第二篇:由身份证号码求出生日期、年龄、性别
excel中由身份证号求出生日期、性别、年龄
(1)根据身份证号码求性别 :=IF(VALUE(RIGHT(B2,3))/2=INT(VALUE(RIGHT(B2,3))/2),“女”,“男”)
(2)根据身份证号码求出生日期:
=CONCATENATE(MID(B2,7,4),“年”,MID(B2,11,2),“月”,MID(B2,13,2),“日”)
(3)根据身份证号码求出年龄:=CONCATENATE(DATEDIF(D2,TODAY(),“y”),“周岁”)
或 =DATEDIF(D3,TODAY(),“y”)
1、身份证号码相关知识
在了解如何实现自动从身份证号码中提取出生年月、性别信息之前,首先需要了解身份证号码所代表的含义。我们知道,当今的身份证号码有15/18位之分。早期签发的身份证号码是15位的,现在签发的身份证由于年份的扩展(由两位变为四位)和末尾加了效验码,就成了18位。这两种身份证号码将在相当长的一段时期内共存。两种身份证号码的含义如下:
(1)15位的身份证号码:1~6位为地区代码,7~8位为出生年份(2位),9~10位为出生月份,11~12位为出生日期,第13~15位为顺序号,并能够判断性别,奇数为男,偶数为女。
(2)18位的身份证号码:1~6位为地区代码,7~10位为出生年份(4位),11~12位为出生月份,13~14位为出生日期,第15~17位为顺序号,并能够判断性别,奇数为男,偶数为女。18位为效验位。
2、应用函数
在此例中为了实现数据的自动提取,应用了如下几个Excel函数。(1)IF函数:根据逻辑表达式测试的结果,返回相应的值。IF函数允许嵌套。
语法形式为:IF(logical_test, value_if_true,value_if_false)(2)CONCATENATE:将若干个文字项合并至一个文字项中。语法形式为:CONCATENATE(text1,text2……)
(3)MID:从文本字符串中指定的起始位置起,返回指定长度的字符。语法形式为:MID(text,start_num,num_chars)(4)TODAY:返回计算机系统内部的当前日期。语法形式为:TODAY()
(5)DATEDIF:计算两个日期之间的天数、月数或年数。语法形式为:DATEDIF(start_date,end_date,unit)(6)VALUE:将代表数字的文字串转换成数字。语法形式为:VALUE(text)(7)RIGHT:根据所指定的字符数返回文本串中最后一个或多个字符。语法形式为:RIGHT(text,num_chars)(8)INT:返回实数舍入后的整数值。语法形式为:INT(number)
4、公式写法及解释(以员工Andy为例说明)
说明:为避免公式中过多的嵌套,这里的身份证号码限定为15位的。如果您看懂了公式的话,可以进行简单的修改即可适用于18位的身份证号码,甚至可适用于15、18两者并存的情况。
(1)根据身份证号码求性别
=IF(VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2),“女”,“男”)公式解释:a.RIGHT(E4,3)用于求出身份证号码中代表性别的数字,实际求得的为代表数字的字符串
b.VALUE(RIGHT(E4,3)用于将上一步所得的代表数字的字符串转换为数字 c.VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2用于判断这个身份证号码是奇数还是偶数,当然你也可以用Mod函数来做出判断。
d.=IF(VALUE(RIGHT(E4,3))/2=INT(VALUE(RIGHT(E4,3))/2),“女”,“男”)及如果上述公式判断出这个号码是偶数时,显示“女”,否则,这个号码是奇数的话,则返回“男”。
(2)根据身份证号码求出生日期
=CONCATENATE(“19”,MID(E4,7,2),“/”,MID(E4,9,2),“/”,MID(E4,11,2))公式解释:a.MID(E4,7,2)为在身份证号码中获取表示年份的数字的字符串 b.MID(E4,9,2)为在身份证号码中获取表示月份的数字的字符串 c.MID(E4,11,2)为在身份证号码中获取表示日期的数字的字符串 d.CONCATENATE(“19”,MID(E4,7,2),“/”,MID(E4,9,2),“/”,MID(E4,11,2))目的就是将多个字符串合并在一起显示。
(3)根据参加工作时间求年资(即工龄)=CONCATENATE(DATEDIF(F4,TODAY(),“y”),“年”,DATEDIF(F4,TODAY(),“ym”),“个月”)公式解释:
a.TODAY()用于求出系统当前的时间
b.DATEDIF(F4,TODAY(),“y”)用于计算当前系统时间与参加工作时间相差的年份
c.DATEDIF(F4,TODAY(),“ym”)用于计算当前系统时间与参加工作时间相差的月份,忽略日期中的日和年。
d.=CONCATENATE(D
第三篇:利用身份证号自动提取出生日期和年龄性别
在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中根据身份证号计算出生日期、年龄、性别、月份间隔
根据身份证号码计算出生日期、年龄、性别。其中D4单元格中输入身份证号码 1.计算出生日期: 出生日期为(年月日)
=IF(LEN(D4)=15,“19”&MID(D4,7,2)&“年”&MID(D4,9,2)&“月”&MID(D4,11,2)&“日”,MID(D4,7,4)&“年”&MID(D4,11,2)&“月”&MID(D4,13,2)&“日”)出生日期为(Y-M-D)
=MID(D4,7,4)&“-”&MID(D4,11,2)&“-”&MID(D4,13,2)
2.计算年龄:
=YEAR(TODAY())-MID(D4,7,4)
3.计算性别:
=IF(MOD(IF(LEN(D4)=15,MID(D4,15,1),MID(D4,17,1)),2)=1,“男”,“女”)
4.根据两个年月日算间隔多少月:
=(YEAR(B2)-YEAR(A2))*12+MONTH(B2)-MONTH(A2)
5.数值保留两位小数:
=ROUND(A2,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自文字的指定起始位置起提取指定长度的字符串