从身份证号码提取出生年月和年龄

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

方法一:

1.Excel表中用身份证号码中取其中的号码用:MID(文本,开始字符,所取字符数);

2.15位身份证号从第7位到第12位是出生年月日,年份用的是2位数。

18位身份证号从第7位到第14位是出生的年月日,年份用的是4位数。

从身份证号码中提取出表示出生年、月、日的数字,用文本函数MID()可以达到目的。MID()——从指定位置开始提取指定个数的字符(从左向右)。

对一个身份证号码是15位或是18位进行判断,用逻辑判断函数IF()和字符个数计算函数LEN()辅助使用可以完成。综合上述分析,可以通过下述操作,完成形如1978-12-24样式的出生年月日自动提取:

假如身份证号数据在A1单元格,在B1单元格中编辑公式

=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2)&"-"&MID(A1,11,2),MID (A1,7,4)&"-"&MID(A1,11,2)&"-"&MID(A1,13,2))

回车确认即可。

如果只要“年-月”格式,公式可以修改为

=IF(LEN(A1)=15,MID(A1,7,2)&"-"&MID(A1,9,2),MID(A1,7,4)&"-"&MID(A 1,11,2))

3.这是根据身份证号码(15位和18位通用)自动提取性别的自编公式,供需要的朋友参考:

说明:公式中的B2是身份证号

根据身份证号码求性别:

=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B 2)=18,IF(MOD(VALUE(MID(B2,15,1)),2)=0,"女","男"),"身份证错"))

根据身份证号码求年龄:

=IF(LEN(B2)=15,2007-VALUE(MID(B2,7,2)),if(LEN(B2)=18,2007-VALUE (MID(B2,7,4)),"身份证错"))

4.Excel表中用Year\Month\Day函数取相应的年月日数据;

方法二:

这是根据身份证号码(15位和18位通用)自动提取性别和出生年月的自编公式,供需要的网友参考:

说明:公式中的B2是身份证号

1、根据身份证号码求性别:

=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=1 8,IF(MOD(VALUE(MID(B2,15,3)),2)=0,"女","男"),"身份证错"))

2、根据身份证号码求出生年月:

=IF(LEN(B2)=15,CONCATENATE("19",MID(B2,7,2),".",MID(B2,9,2)),IF(LEN(B 2)=18,CONCATENATE(MID(B2,7,4),".",MID(B2,11,2)),"身份证错"))

3、根据身份证号码求年龄:

=IF(LEN(B2)=15,year(now())-1900-VALUE(MID(B2,7,2)),if(LEN(B2)=18,year (now())-VALUE(MID(B2,7,4)),"身份证错"))

用Excel函数计算年龄几法

来源:CFAN 发布时间:2009-07-02

函数原理:

TODAY函数

函数名称:TODAY

主要功能:给出系统日期。

使用格式:TODAY()

参数说明:该函数不需要参数。

应用举例:输入公式:=TODAY(),确认后即刻显示出系统日期和时间。如果系统日期和时间发生了改变,只要按一下F9功能键,即可让其随之改变。

特别提醒:显示出来的日期格式,可以通过单元格格式进行重新设置。

函数datedifexcel中有一个函数列表中没有的函数datedif()。DATEDIF函数,除Excel 2000中在帮助文档有描述外,其他版本的Excel在帮助文档中都没有说明,并且在所有版本的函数向导中也都找不到此函数。但该函数在电子表格中确实存在,并且用来计算两个日期之间的天数、月数或年数很方便。微软称,提供此函数是为了与Lotus 1-2-3

兼容。

该函数的用法为“DATEDIF(Start_date,End_date,Unit)”,其中Start_date为一个日期,它代表时间段内的第一个日期或起始日期。End_date为一个日期,它代表时间段内的最后一个日期或结束日期。Unit为所需信息的返回类型。“Y”为时间段中的整年数,“M”为时间段中的整月数,“D”时间段中的天数。“MD”为Start_date与End_date日期中天数的差,可忽略日期中的月和年。“YM”为Start_date与End_date日期中月数的差,可忽略日期中的日和年。“YD”为Start_date与End_date日期中天数的差,可忽略日期中的年。比如,B2单元格中存放的是出生日期(输入年月日时,用斜线或短横线隔开),在C2单元格中输入“=datedif(B2,today(),"y")”(C2单元格的格式为常规),按回车键后,C2单元格中的数值就是计算后的年龄。此函数在计算时,只有在两日期相差满12个月,才算为一年,假如生日是2004年2月27日,今天是2005年2月28日,用此函数计算的年龄则为0岁,这样算出的年龄其实是最公平的。

=datedif(A1,today(),"y")这个公式也可以得到你要的结果。

如:

入厂日期-出生日期=实际年龄

=DATEDIF(B2,A1,"y")

3. 以9月份为界限

真实年龄=2007-出生年份+IF(月份>8,-1,0)

=2007-YEAR(A1)+IF(MONTH(A1)>8,-1,0)

原理:

对于9月前出生的学生,其周岁年龄的计算可直接用当年入学的年份减去学生出生的年份。如:一个2004年入学,某年3月出生的学生的年龄为:周岁年龄=2004-出生年份。

但如果是在8月后出生的话,其周岁年龄就应比用公式计算出的年龄小1岁。

也就是说,学生的实际年龄不仅仅与学生的出生年份有关,还与学生出生的月份有关。

那么我们可以考虑用IF函数对月份作出判断,再与公式计算得的年龄累计,从而得出真实的年龄。

在IF函数中有三个参数,利用函数中的第一个参数进行判断,将判断后的返回值放在第二、第三个参数中,

并与公式中的周岁年龄累加计算,最后得出真实年龄。

在此使用IF函数(月份>8,-1,0)与公式合成:真实年龄=2004-出生年份+IF(月份>8,-1,0)。

相关文档
最新文档