身份z号码换算成年龄的方法有三个,分别精确到年月日,假设A2中录入身份z号码,有两种方案可选,在B2中录入公式
1、精确到天的公式
=INT((VALUE(TEXT(TODAY(),"YYYYMMDD"))-VALUE(MID(B2,7,8)))/10000)
2、精确到月的公式
=INT((VALUE(TEXT(TODAY(),"YYYYMM"))-VALUE(MID(B2,7,6)))/100)
3、精确到年的公式
=YEAR(NOW())-MID(B2,7,4)
经常会遇到处理身份z号、出生年月等内容的电子表格。如果只是几个,勉强还可以手工应付,但如果很多呢?你是不是依然手工呢?这可不是一个轻松的活啊,如果能有一个减轻一下输入工作量、提高一下效率的方法就好了。大家万万没有想到的是Excel就具备这样的功能,只要稍加利用,便可得到一想不到的结果,将学生的身份z号完整地输入Excel中后,就可以帮我们自动填好出生日期和性别。
现在学生的身份z号已经全部都是18位的新一代身份z了,里面的数字都是有规律的。前6位数字是户籍所在地的代码,7-14位就是出生日期。第17位“2”代表的是性别,偶数为女性,奇数为男性。我们要做的就是把其中的部分数字想法“提取出来”。
STEP1:转换身份z号码格式
我们先将学生的身份z号完整地输入到Excel2003表格中,这时默认为“数字”格式(单元格内显示的是科学记数法的格式),需要更改一下数字格式。选中该列中的所有身份z号后,右击鼠标,选择“设置单元格格式”。在d出对话框中“数字”标签内的“分类”设为“文本”,然后点击确定。
STEP2:“提取出”出生日期
将光标指针放到“出生日期”列的单元格内,这里以C2单元格为例。然后输入“=MID(B2,7,4)&"年"&MID(B2,11,2)&"月"&MID(B2,13,2)&"日"”(注意:外侧的双引号不用输入,函数式中的引号和逗号等符号应在英文状态下输入)。回车后,你会发现在C2单元格内已经出现了该学生的出生日期。然后,选中该单元格后拖动填充柄,其它单元格内就会出现相应的出生日期。如图1。
图1 通过上述方法,系统自动获取了出生年月日信息
小提示:MID函数是EXCEL提供的一个“从字符串中提取部分字符”的函数命令,具体使用格式在EXCEL中输入MID后会出现提示。
计算年龄:(其中C3是出生日期所在列)
双击年龄所在列的第二行,然后输入下面公式,然后按ENTER键;再利用下拉方式将公式复制到该列的其他行中即可=YEAR(NOW())-YEAR(C3)。如图3所示:
图3
在excel中可以利用DATEDIF函数组合mid函数,利用身份z的编码特性,统计出年龄。
如图,B列是身份z号码,C列是年龄。C列的公式为:=DATEDIF(--TEXT(MID(B2,7,8),"0000-00-00"),TODAY(),"y")
公式解析:根据身份z的编码特性,从七位开始是年龄信息,该信息一共是8位,用MID函数提出年龄信息,并用TEXT函数将年龄信息转化为真正的时间序列号,再使用DATEDIF函数求出两个日期之间的年数,即年龄。
“excel中用身份z号计算年龄”的 *** 作步骤是:1、打开Excel 2007工作表;2、由于身份z编码规则中,从第7位字符起的8个字符为出生年月日信息,因此可通过MID函数提取出出生日期,并计算到当前日期的年差值;3、在C2单元格输入以下公式,然后向下填充公式=DATEDIF(TEXT(MID(B2,7,8),"0-00-00"),TODAY(),"y")公式表示:以TEXT(MID(B2,7,8),"0-00-00")为初始日期,以TODAY()为截止日期,计算两者之前间隔的年份。4、Excel 2003以下版本也可以直接通过计算出生日期与当前日期总天数,除以365的整数来获得,输入以下公式,然后向下填充公式=INT((TODAY()-TEXT(MID(B2,7,8),"0-00-00"))/365)
首先需要用MID函数将身份z号码中的日期部分提取出来。然后利用YEAR函数和NOW函数取得当前年份。再用DATEDIF函数计算两个日期之间间隔的年数。
以18位身份z号码为例,18位身份z号从第7位开始的8位数字代表出生日期。出生的年份是从第7位开始的4位数字,因此,我们可以用MID函数将出生年份提取出来。假设身份z号码在A2单元格,
在B2输入公式:=MID(A2,7,4)
我们可以用YEAR函数来取得当前的年份,例如输入:=YEAR(NOW())就可以返回当前的年份2015
将上述两个部分合并,就得到了B2的最终公式:=YEAR(NOW())-MID(A2,7,4)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)