(Excel)常用函数公式及操作技巧之一:身份证信息提取

 

 (Excel)常用函数公式及操作技巧之一:

身份证信息提取

——通过知识共享树立个人品牌。

 

 

从身份证号码中提取出生年月日

=TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")+0

=TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")*1

=IF(A2<>"",TEXT((LEN(A2)=15)*19&MID(A2,7,6+(LEN(A2)=18)*2),"#-00-00")+0,)

显示格式均为yyyy-m-d。(最简单的公式,把单元格设置为日期格式)

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

显示格式为yyyy-mm-dd。(如果要求为“1995/03/29”格式的话,将”-” 换成”/”即可)

=IF(D4="","",IF(LEN(D4)=15,TEXT(("19"&MID(D4,7,6)),"0000年00月00日"),IF(LEN(D4)=18,TEXT(MID(D4,7,8),"0000年00月00日"))))

显示格式为yyyymmdd日。(如果将公式中“00000000日”改成“0000-00-00,则显示格式为yyyy-mm-dd

=IF(LEN(A1:A2)=18,MID(A1:A2,7,8),"19"&MID(A1:A2,7,6))

显示格式为yyyymmdd

=TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")+0

=IF(LEN(A2)=18,MID(A2,7,4)&-MID(A2,11,2),19&MID(A2,7,2)&-MID(A2,9,2))

=MID(A1,7,4)&"年"&MID(A1,11,2)&"月"&MID(A1,13,2)&"日"

=IF(A1<>"",TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"))

从身份证号码中提取出性别

=IF(MOD(MID(A1,15,3),2),"男","女")      (最简单公式)

=IF(MOD(RIGHT(LEFT(A1,17)),2),"男","女")

=IF(A2<>” ”,IF(MOD(RIGHT(LEFT(A2,17)),2),”男”,”女”),)

=IF(VALUE(LEN(ROUND(RIGHT(A1,1)/2,2)))=1,"男","女")

从身份证号码中进行年龄判断

=IF(A3<>””,DATEDIF(TEXT((LEN(A3)=15*19&MID(A3,7,6+(LEN(A3)=18*2),”#-00-00”),TODAY(),”Y”),)

=DATEDIF(A1,TODAY(),“Y”)

(以上公式会判断是否已过生日而自动增减一岁)

=YEAR(NOW())-MID(E2,IF(LEN(E2)=18,9,7),2)-1900

=YEAR(TODAY())-IF(LEN(A1)=15,"19"&MID(A1,7,2),MID(A1,7,4))

=YEAR(TODAY())-VALUE(MID(B1,7,4))&"岁"

=YEAR(TODAY())-IF(MID(B1,18,1)="",CONCATENATE("19",MID(B1,7,2)),MID(B1,7,4))

按身份证号号码计算至今天年龄

=DATEDIF(TEXT((LEN(A1)=15)*19&MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00"),TODAY(),"y")

以2006年10月31日为基准日,按按身份证计算年龄(周岁)的公式

=DATEDIF(TEXT(MID(A1,7,6+(LEN(A1)=18)*2),"#-00-00")*1,"2006-10-31","y")

按身份证号分男女年龄段

按身份证号分男女年龄段,身份证号在K列,年龄段在J列(身份证号为18位)

男性16周岁以下为            1

男性16周岁(含16周岁)以上至50周岁为 2

男性50周岁(含50周岁)以上至60周岁为 3

男性60周岁(含60周岁)以上为      4

女性16周岁以下为            1

女性16周岁(含16周岁)以上至45周岁为 2

女性45周岁(含45周岁)以上至55周岁为 3

女性55周岁(含55周岁)以上为      4

=MATCH(DATEDIF(DATE(MID(K1,7,4),MID(K1,11,2),MID(K1,13,2)),TODAY(),"y"),{0,16,50,60}-{0,0,5,5}*ISEVEN(MID(K1,17,1)))

=SUM(--(DATEDIF(MID(K1,7,4)&"/"&MID(K1,11,2)&"/"&MID(K1,13,2),TODAY(),"y")>={0,16,45,55}+{0,0,5,5}*MOD(MID(K1,17,1),2)))

 

posted @ 2012-02-07 17:49  .NET快速开发框架  阅读(10197)  评论(0编辑  收藏  举报