问题:excel中身份证号自动生成出生日期
答案:
方法一:由于身份证号有18位,而默认的数字录入只可正确显示前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!”。
G列为身份证号,F列为出生年月日,在F2单元格中输入公式“=DATE(MID(J2,7,4),MID(J2,11,2),MID(J2,13,2))”,即可根据身份证号生成出生年月日。只要拖动填充柄就可以完成其他学生的数据。
生成当前所需年龄
利用DATEIF函数,计算两个日期之间的天数、月数或年数。语法:DATEDIF(Start_Date,End_Date,Unit)。Start_Date——为一个日期,它代表时间段内的第一个日期或起始日期;
End_Date——为一个日期,它代表时间段内的最后一个日期或结束日期;Unit——为所需信息的返回类型。
利用TODAY函数,返回当前日期的系列数。语法:TODAY( )。如图2所示,G列为身份证号,E列为年龄,在E2单元格中输入公式“=DATEDIF(G2,TODAY(),"Y")”,这样就可根据当前计算机中的日期,自动计算出学生的实际年龄,而且每次打开文件时计算机都自动更新其数据。如果需要计算某日的实际年龄,只要修改系统的时钟后,再打开文件也可自动完成。
方法二:
1、 性别、出生月日、年龄的自动填充功能设置
我们先对“性别”“出生年月”“年龄”进行函数设置。当我们输入某人身份证号码时,系统便会自动生成“性别”,“出生年月”及“年龄”,这样就减少了我们录入的工作量。请分别选择性别、出生月日、年龄信息项单元格输入下列公式:
(1)性别: =IF(MOD(IF(LEN(E3)=15,MID(E3,15,1),MID(E3,17,1)),2)=1,"男","女")
含义:“LEN(E3)=15”表示看E3中是否有15个字符;
“MID(E3,15,1)”表示在E3中从第15位开始提取1位字符;
“MOD(MID(),2)=1”表示提取的字符除以2余数为1;
“IF(LEN(E3)=15,MID(E3,15,1),MID(E3,17,1)”表示看E3中是否够15个字符,如果够就从第15个字符开始取1个字符,如果不够15个字符就从第17个字符开始取1个字符。我们的身份证号码一般是15位或18位。
“IF(MOD(IF(LEN(E3)=15,MID(E3,15,1),MID(E3,17,1)),2)=1,"男","女"”表示所取字符除以2如果余数为1显示男,否则显示女。
(2)出生年月: =DATE(MID(E3,7,4),MID(E3,11,2),MID(E3,13,2))
含义:DATE(YEAR,MONTH,DAY);
“MID(E3,7,4)”表示在E3中从第7个字符开始连续取4个字符表示年,用类似的表示方法一个人的出生年月日便可以通过函数设置表示出来,如果为了看起来方便,我们可以将单元格格式设置成年、月、日的日期格式,这样显示的结果会非常容易理解。
(3)年龄: =DATEDIF(G3,TODAY(),"Y")
mid函数提取年月日
含义:“DATEDIF(date1,date2,“Y”)”表示两个日期的差值;
“TODAY()”表示系统自带的日期即显示当日日期;
“DATEDIF(G3,TODAY(),"Y")”表示今天的日期与G3所表示的出生月日之间的年份差值,这样一个人的年龄就会容易的显示出来了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论