身份证号计算出生年月、性别、年龄
1、身份证号码简介(18位):
16位为地区代码;710位为出生年份;1112位为出生月份;1314位为出生日期;1517位为顺序号,并能够判断性别,奇数为男,偶数为男;第18位为校验码。
2、确定出生日期
18位身份证号码中的生日是从第7位开始至第14位结束。提取出来后为了计算年龄应该将”“”“数据中添加一个/”或-分隔符。
①正确输入了身份证号码。(假设在D2单元格中)
②将光标定位在出生日期单元格(E2)中,然后在单元格中输入函数公式=MID(D2,7,4)&"-"&MID(D2,11,2)&"-"&MID(D2,13,2)”即可计算出出生日期
关于这个函数公式的具体说明:MID函数用于从数据中间提取字符,它的格式是:MIDtext,starl_num,num_chars)。
Text是指要提取字符的文本或单元格地址(上列公式中的D2单元格)。
starl_num是指要提取的第一个字符的位置(上列公式中依次为71113)。
num_chars指定要由MID所提取的字符个数(上述公式中,提取年份为4,月份和日期为2)。
多个函数中的&”起到的作用是将提取出的”“”“信息合并到一起,/”或- 分隔符则是在提取出的”“”“数据之间添加的一个标记,这样的数据以后就可以作为日期类型进行年龄计算。操作效果如下图:
 
3、确定年龄
出生日期确定后,年龄则可以利用一个简单的函数公式计算出来了:将光标定位在年龄单元格中,然后在单元格中输入函数公式=INT((TODAY()-E2)/365)”即可计算出年龄
关于这个函数公式的具体说明:
TODAY函数用于计算当前系统日期。只要计算机的系统日期准确,就能立即计算出当前的日期,它无需参数。操作格式是TODAY()。
②用TODAY()-E2,也就是用当前日期减去出生日期,就可以计算出这个人的出生天数。
③再除以 365”减得到这个人的年龄。
④计算以后可能有多位小数,可以用【减少小数位数】按钮,将年龄的数值变成整数,也可在公式= (TODAY()-E2)/365中再嵌套一个 INT”函数取整数,即 =INT((TODAY()-E2)/365)”,这样就会自动将后面的小数去掉,只保留整数部分。操作效果如下图:
 
4、确定性别
每个人的性别可以利用身份证号码进行判断,18位身份证号码中,第1517位为顺序号,奇数为男,偶数为女。
将光标定位在性别单元格中,然后在单元格中输入函数公式=IF(VALUE(MID(D2,15,3))/2=INT(VALUE(MID(D2,15,3))/2),"","")”即可计算出性别
关于这个函数公式的具体说明:
①函数公式中,MID(D2,15,3)的含义是将身份证中的第1517位提取出来。
VALUE(MID(D2,15,3))的含义是将提取出来的文本数字转换成能够计算的数值。
VALUE(MID(D2,15,3))/2=INT(VALUE(MID(D2,15,3))/2)的含义是判断奇偶。(INT”在上面说过是取整函数,如果是偶数,则前后相等;如果是奇数,则前后不相等。)
=IF(VALUE(MID(D2,15,3))/2=INT(VALUE(MID(D2,15,3))/2),"","")的含义是若是偶数就填写,若是奇数就填写。操作效果如下图:
Excel中利用自动填充手柄输入15位以上的数字
2010-1-15 13:09:00
Excel中输入递增的数字的时候可以使用自动填充手柄来拖动填充,这样很方便。最近在输入学生学籍号碰到一个问题,学生的学籍号位数字是16位,如何直接输入(格式为常规或是数值),则第16位无论是什么数字都自动转换为0。因为Excel中,最多只能输入15位(含15位)数字,15位(含15位)以内的数字,要是递增的话,可以使用自动填充手柄来填充,超过15位数字,超出的位都变为0
因为学籍号是16位数字,所以不能以常规或是数值的格式输入,只能转换为文本的格式(选中要输入数字的单元格,单击右键设置单元格格式,在弹出“设置单元格格式”对话框中选择“数字”选项卡,在“分类”下选择“文本”,单击“确定”)。转换后是可以输入16位的学籍,但是无法使用自动填充手柄输入递增的学籍号。
如:学籍号在C列,从C4开始输入
4670081020100001mid函数提取年月日
4670081020100003
4670081020100004
······
一直递增下去,全校有1000多人。前面12位没有改变,变化的只是后4位。在经过一番摸索之后,终于到解决的方法了。
思路:使用函数来输入,前12位数字作为文本来输入,即数字用双引号括起来,使用“&”这
个字符(逻辑函数和),再使用TextRow函数。
函数解释:
Text:根据指定的数值格式,将数字转换成文本,Text(value,format_text)。如:=Text(2,0000),返回0002
Row:返回一个引用的行号,Row(reference)。如:=Row(A1),返回1
在上例中,在C4单元格中要输入的是:4670081020100001。倘若只是:0001,则可输入=Text(Row(C1),0000)。这样使用句柄填充,会出现00100020003······递增下去。而前面12位可直接输入,并用双引号括起来。
所以,在C4这个单元格中可以这样输入:
=467008102010&Text(Row(C1),0000),按回车就可以来:4670081020100001,然后拖动句柄来填充,就可以递增的填入学籍号了