Excel中利用身份证号自动生成出生年月和年龄
熊继承
2007年7月10日
我在学校教务处担任教务员工作,对于学生的信息及文件都利用计算机进行管理,已形成了一套学生成绩与学籍管理的数据库,不但使工作更加方便、快捷,而且又保证了数据的准确性。现就一点经验 介绍,希望能使各位得到一些启发。
在学生的学籍管理中,经常要录入学生的身份证号、出生年月日、年龄等信息。如果能利用Excel的函数功能,便可以使录入的学生身份证号自动生成出生年月日和年龄,既方便,又可减少录入出生年月日、年龄的差错与繁琐。
一、正确录入身份证号
由于身份证号有18位,而默认的数字录入只可正确显示前mid函数提取年月日15位,而后3位显示为0,因此可用下述方法之一操作。
1、在英文标点的状态下,先输入引号","再输入身份证号或学号。
2、首先选中需录入身份证号的单元格,在"格式单元格"的命令菜单中选"数字"选项,在分类项里单击"文本",再录入身份证号。这样,既可解决18位以上身份证的显示问题,又可解决以0打头的学号显示问题。
二、生成出生年月日
利用DATE函数,返回代表特定日期的系列数。语法:DATE(Year,Month,Day)。参数Year--可以为一到四位数; Month--代表每年中月份的数字;Day--代表在该月份中第几天的数字。
利用MID函数,返回文本串中从指定位置开始的特定数目的字符,该数目由用户指定。语法:MID(Text,Start_Num,Num_Chars)。参数Text--是包含要提取字符的文本串,文本中第一个字符的Start_Num 1,以此类推;Start_Num--是文本中要提取的第一个字符的位置;Num_Chars--指定希望MID从文本中返回字符的个数,如果Num_Chars是负数,则MID返回错误值"#VALUE!"
H列为身份证号,L列为出生年月日,在L2单元格中输入公式"=DATE(MID(H2,7,4),MID(H2,11,2),MID(H2,13,2))",即可根据身份证号生成出生年月日。只要拖动填充柄就可以完成其他学生的数据。
三、生成当前所需年龄
利用DATEIF函数,计算两个日期之间的天数、月数或年数。语法:DATEDIF(Start_Date,End_Date,Unit)Start_Date--为一个日期,它代表时间段内的第一个日期或起始日期;
End_Date--为一个日期,它代表时间段内的最后一个日期或结束日期;Unit--为所需信息的返回类型。
利用TODAY函数,返回当前日期的系列数。语法:TODAY( )。如,H列为身份证号,M列为年龄,在M2单元格中输入公式"=DATEDIF(H2,TODAY(),"Y")",这样就可根据当前计算机中的日期,自动计算出学生的实际年龄,而且每次打开文件时计算机都自动更新其数据。如果需要计算某日的实际年龄,只要修改系统的时钟后,再打开文件也可自动完成。
四、EXCEL中如何计算年龄
1B1单元格是“1985-5-6”,怎么得出岁数? E1单元格计算出该同志的年龄是多少?
解答:
E1单元格中输入命令:=YEAR(NOW())-YEAR( B1)
结果是21(注意:E1单元格数据格类型为常规)
若要实现结果是21岁,只要在公式后加&""
2 如何根据身份证号计算出年龄?
解答:
MID函数计算出第一个客户的出生年月。函数表达方式如下:MIDE272),表示第一个客户的身份证号在E列第二行中,要从这个位置中的第7个文本始返回2个长度的字符。
回车确认后,"J2"中的值变为"62",表示该职工62年出生。接着下拉J2公式复制单元格,快速求出每个职工的出生年月(若身份证为18位,则公式变为MIDE292))再把J列的格式改为数值型。
D2中输入计算机公式"=(2006'当前年份-1900)-J2"就可求出该职工的实际年龄。
注:以上的方法中的出生年月只有在2000年以前才有效,如果客户中有2000年以后出生的人,则计算时还要做些变通。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。