知之为知之不知为不知:在EXCEL中利用身份证号码提取生日及年龄
来源:百度文库 编辑:中财网 时间:2024/04/27 10:43:50
在EXCEL中利用身份证号码提取生日及年龄
LEN:返回文本字符串的个数,本例中用来计算身份证的位数
MID:返回文本字符串指定起始位置起指定长度的字符,本例中用来计算身份证号中出生日期的字符; MID(C6,7,2)表示:在C3中从左边第七位起提取2位数;
INT:返回数值向下取整为最接近的整数,本例中用来判断身份证里数值的奇偶数.
RIGHT:返回文本字符串最后一个字符开始指定个数的字符,本例中来计算身份证号最后一位数.
"19"&MID(C6,7,2)表示:在C3中从左边第七位起提取2位数的前面添加19;……
&""&表示:其左右两边所提取出来的数字不用任何符号连接;
&"-"&表示:其左右两边所提取出来的数字间用“-”符号连接。若需要的日期格式是yyyy年mm月dd日,则可以把公式中的“-”分别用“年月日”进行替换就行了。
一.提取生日
1、18位身份证号码及提取方法:
1~6位为地区代码;7~10位为出生年份;11~12位为出生月份;13~14位为出生日期;15~17位为顺序号,并能够判断性别,奇数为男,偶数为男;第18位为校验码。
公式内的“B2”代表的是输入身份证号码的单元格。
18位身份证号码中的生日是从第7位开始至第14位结束。提取出来后为了计算“年龄”应该将“年”“月”“日”数据中添加一个“/”或“-”分隔符。
方法一:
=DATE(mid(B2,7,4),mid(B2,11,2),mid(B2,13,2))
函数说明:
DATE是表示显示日期的数字,就是下面的年、月、日
mid(B2,7,4)表示取B2单元格中的第七位起的四位数是年,
mid(B2,11,2)表示取B2单元格中的第十一位起的二位数是月,
mid(B2,13,2)表示取B2单元格中的第十三位起的二位数是日,
方法二:显示yyyy-mm-dd格式
=mid(B2,7,4)&"-"&mid(B2,11,2)&"-"&mid(B2,13,2)
函数说明:
MID函数用于从数据中间提取字符,它的格式是:MID(text,starl_num,num_chars)。
Text是指要提取字符的文本或单元格地址。
starl_num是指要提取的第一个字符的位置(上列公式中依次为7、11、13)。
num_chars指定要由MID所提取的字符个数(上述公式中,提取年份为4,月份和日期为2)。
多个函数中的“&”起到的作用是将提取出的“年”“月”“日”信息合并到一起,“/”或“-” 分隔符则是在提取出的“年”“月”“日”数据之间添加的一个标记,这样的数据以后就可以作为日期类型进行年龄计算。
2、15位身份证号码及提取方法
1~6位为行政区划编码,7——12是出生日期(年份占用2位),最后3位是序列号序列号男性为奇数,女性为偶数。
=DATE(MID(B2,7,2),MID(B2,9,2),MID(B2,11,2))
=MID(B2,7,2)&"-"&MID(B2,9,2)&"-"&MID(B2,11,2)
3、15位18为位混合提取方法
方法一:
=IF(LEN(B2)=18,MID(B2,7,4)&"年"&MID(B2,11,2)&"月"&MID(B2,13,2)&"日","19"&MID(B2,7,2)&"年"&MID(B2,9,2)&"月"&MID(B2,11,2)&"日")
函数说明:
如果B2单元格是一个18位数IF(LEN(B2)=18)那么从第7位数开始得到的4位数就是年份MID(B2,7,4)后面再加上文字&”年”,月日依此类推,否则, B2单元格为15位数,就执行"19"&MID(B2,7,2)&"年"&MID(B2,9,2)&"月"&MID(B2,11,2)&"日")含义与18位相似.只是在年MID(B2,7,2)前面要加上"19"
方法二:
=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))
函数说明:
当其检查到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)的计算结果。如:若B2单元格中是130728870501323,计算出的结果是“1987-05-01”;若B2单元格中是130728198602026621,计算出的结果是“1986-02-02”。
二.计算年龄
“出生日期”确定后,年龄则可以利用一个简单的函数公式计算出来了:将光标定位在“年龄”单元格中,然后在单元格中输入函数公式
=INT((TODAY()-D2)/365)
即可计算出“年龄”。D2是年龄单元格。
函数说明:
①TODAY函数用于计算当前系统日期。只要计算机的系统日期准确,就能立即计算出当前的日期,它无需参数。操作格式是TODAY()。
②用TODAY()-D2,也就是用当前日期减去出生日期,就可以计算出这个人的出生天数。
③再除以 “365”减得到这个人的年龄。
④计算以后可能有多位小数,可以用[减少小数位数]按钮,将年龄的数值变成“整数”,也可在公式= (TODAY()-D2)/365中再嵌套一个 “INT”函数取整数,即“ =INT((TODAY()-D2)/365)”,这样就会自动将后面的小数去掉,只保留整数部分。