当前位置:文档之家› Excel身份证提取生日性别年龄

Excel身份证提取生日性别年龄

方法一: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(A1,11,2))3.这是根据身份证号码(15位和18位通用)自动提取性别的自编公式,供需要的朋友参考:说明:公式中的B2是身份证号根据身份证号码求性别:=IF(LEN(B2)=15,IF(MOD(VALUE(RIGHT(B2,3)),2)=0,"女","男"),IF(LEN(B2)=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(B 2,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)=18,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(B2)=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)),"身份证错"))早期的身份证号码为15位数字,现在使用的身份证号码为18位数字,它们的含义如下:(1)15位:1-6位为地区代码,7-8位为出生年份(2位),9-10位为出生月份,11-12位为出生日期,第13-15位为顺序号,这3位奇数为男,偶数为女。

(2)18位:1-6位为地区代码,7-10位为出生年份(4位),11-12位为出生月份,13-14位为出生日期,第15-17位为顺序号,同上,第18位为效验位。

在做员工档案管理的工作时,有时希望通过身份证号码,自动提取出各个员工的出生日期、性别、年龄等信息。

现在我们就通过几个公式,来得到这些信息。

1、出生日期=IF(LEN(A2)=15,CONCATENATE("19",MID(A2,7,2),"/",MID(A2,9,2),"/",MID(A 2,11,2)),CONCATENATE(MID(A2,7,4),"/",MID(A2,11,2),"/",MID(A2,13,2))) LEN函数是检测这个身份证号码的数字位数,然后通过IF判断函数对15位或18位的情况做出不同处理。

CONCATENATE函数将提取出的分别代表“年”、“月”、“日”的信息,以及分隔符“/”等内容,合并成一个文本字符串。

MID函数的做用是从身份证的某个位置开始,取出若干字符。

比如MID(A2,7,2),就是将身份证号码(放在A2单元格中),从左边数第七个字符开始,取出2个字符。

2、性别=IF(LEN(A2)=15,IF(VALUE(RIGHT(A2,3))/2=INT(VALUE(RIGHT(A2,3))/2),"女","男"),IF(VALUE(MID(A2,15,3))/2=INT(VALUE(MID(A2,15,3))/2),"女","男"))由于代表性别的数字中,偶数为“女”,奇数为“男”,所以在这个公式中用VALUE函数将取出的字符串变成数字,再除以2,看是否能整除,因为奇数是不能整除的。

这里的INT函数是“取整”的意思,把上面除2后的结果用它取整,让IF函数判断一下,取整前后的结果是否相同,相同为偶数,不相同为奇数。

公式中的RIGHT函数是从字串的右边(即字符串最后面)取若干符,注意与MID 函数的区别。

3、年龄=CONCATENATE(DATEDIF(B2,TODAY(),"y"),"年",DATEDIF(B2,TODAY(),"ym"),"个月")由于我们用上面的公式,将“出生日期”提取到B2单元格,所以这里的公式是通过操作B2单元格的数据来得到年龄的。

函数DATEDIF是计算两个日期或时间的差值,通过第三个参数来确定所要的结果,比如“y”会得到两个日期相差的年;“ym”会得到除年外,所余的月数。

TODAY()函数的作用是得到当前系统日期,即电脑上今天的日期。

最终结果见下图:如果从网上找到前6位数所代表的地区代码列表,然后用VLOOKUP函数引用,就可以自动得到各员工的居住城市信息了。

公式写:="距离生日还有"&IF(DATE(YEAR(TODAY()),MID(H2,11,2),MID(H2,13,2))-TODAY()>0,DATE(YEA R(TODAY()),MID(H2,11,2),MID(H2,13,2))-TODAY(),DATE(YEAR(TODAY())+1,MI D(H2,11,2),MID(H2,13,2))-TODAY())&"天"变色就要用条件格式了,条件格式的公式写成:=--MID(H2,11,2)=month(today())总???分:=SUM(C3:C45)平均分:=AVERAGE(C3:C45)及格率:=COUNTIF(C3:C45,">=60")/COUNT(C3:C45)*100优秀率:=COUNTIF(C3:C45,">=85")/COUNT(C3:C45)*100及格人数:=COUNTIF(C3:C45,">=60")优秀人数:=COUNTIF(C3:C45,">=85")成绩排名:=RANK(D3,$D$3:$D$45,0)参考人数=COUNTA(A3:A45):男生人数:=CONCATENATE(COUNTIF($B$3:$B$45,"男"),"人")或=COUNTIF(B$3:B$45,"男")女生人数:=CONCATENATE(COUNTIF($B$3:$B$45,"女"),"人")或=COUNTIF(B$3:B$45,"女")自动平均分:=AVERAGEA(C3:C45)最高分:=MAX(C3:C45)最低分:=MIN(C3:C45)优秀人数:=COUNTIF(C3:C45,">=85")100分:=COUNTIF(C3:C45,"=100")90~100(不含100):=COUNTIF(C3:C45,">=90")-COUNTIF(C3:C45,">=100") 80~90(不含90):=COUNTIF(C3:C45,">=80")-COUNTIF(C3:C45,">=90")70~80(不含80):=COUNTIF(C3:C45,">=70")-COUNTIF(C3:C45,">=80")60~70(不含70):=COUNTIF(C3:C45,">=60")-COUNTIF(C3:C45,">=70")50~60(不含60):=COUNTIF(C3:C45,">=50")-COUNTIF(C3:C45,">=60")40~50(不含50):=COUNTIF(C3:C45,">=40")-COUNTIF(C3:C45,">=50")40以下(不含40):=COUNTIF(C3:C45,"<40")说明:C列为学生成绩,D列为学生成绩排名,60分及60分以上为及格,85分及85分以上为优秀,学生人数为43人,“成绩排名:=RANK(D5,$D$5:$D$45,0)”的0为降序排列,若是1则为升序排列。

相关主题