如何在excel中由身份证号求得指定年份的年龄6
发布网友
发布时间:2023-09-15 04:40
我来回答
共3个回答
热心网友
时间:2024-12-13 12:32
(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),"日") //结果为文本格式
=DATE(MID(X2,7,4),MID(X2,11,2),MID(X2,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
参考资料:http://hi.baidu.com/sgzxe/blog/item/fed80cfb87cd4b6e024f5666.html/cmtid/8c5f933f28ef2ece7c1e713b
热心网友
时间:2024-12-13 12:33
在excel中根据身份证号码求指定年份的年龄,操作如下:
1、身份证号是18位,第7-14位是人的出生年月日,据此用公式提取出生年份。公式=VALUE(MID(存身份证号单元格,7,4))。如:A1=370724197211210111,则公式=VALUE(MID(A1,7,4)) =1972 。
2、有了这个人的出生年份,求年龄则按公式=指定年份-身份证提取的年份,其差就是所求年龄。如:指定年份为b2=2015,按上例计算,年龄=b2-VALUE(MID(A1,7,4))=2015-1972=43 岁。
热心网友
时间:2024-12-13 12:33
楼上的回答也都是复制过来的,
我给你精简如下,
总结:你的身份证号在A2 B2为出生日期 C2为年龄
出身年月日 例如 =1985年03月05日 在B2中输入以下函数
=CONCATENATE(MID(A2,7,4),"年",MID(A2,11,2),"月",MID(A2,13,2),"日")
周岁 例如 =25 在C2中输入以下函数
=DATEDIF(DATE(MID(A2,7,4),MID(A2,11,2),MID(A2,13,2)),TODAY(),"y")
你只需替换其中的A2为你自己的表格列表就OK