Office中国论坛/Access中国论坛
标题:
与身份证相关的一些函数
[打印本页]
作者:
刘苏
时间:
2016-1-23 21:56
标题:
与身份证相关的一些函数
Sue教你
花式提取
身份证中的信息
身份证号码的结构
第一代身份证号码为
15位
:第
1-6位区域代码
,可对应
出生地
;第
7-12位为6位出生日期
;第
13-15位为顺序码
;第
15位
为
奇数
则为
男性
,
偶数
则为
女性
第二代身份证号码为
18位
:第
1-6位区域代码
,可对应
出生地
;第
7-14位为8位出生日期
;第
15-17位为顺序码
;第
17位
为
奇数
则为
男性
,
偶数
则为
女性
2000年后的新身份证从地区码后插入两位年份为20,并多一位校验码,在第18位。
设:15/18位身份证号码存储在A2单元格,对应以下公式可提取相关信息:
以下公式均为考虑15位身份证号码通用
提取生日:
常规思路及优化:
=IF(LEN(A2)=18,TEXT(MID(A2,7,8),"0-00-00"),TEXT(19&MID(A2,7,6),"0-00-00"))
=TEXT(IF(LEN(A2)=18,MID(A2,7,8),19&MID(A2,7,6)),"0-00-00")
=TEXT(MID(A2,7,IF(LEN(A2)=18,8,6)),"0-00-00")
牛逼青年:
=TEXT(MID(A2,7,6+2*(LEN(A2)=18)),"0-00-00")
=TEXT(MID(A2,7,LEN(A2)/2.25),"0-00-00")
走你Style:
=TEXT(MID(A2,7,11)-500,"0-00-00,")
提取年龄:
=DATEDIF(TEXT(MID(A2,7,LEN(A2)/2.25),"0-00-00"),TODAY(),"y")
=DATEDIF(TEXT(MID(A2,7,11)-500,"0-00-00,"),TODAY(),"y")
这个就是生日公式,外套DateDif函数
提取性别:
=IF(MOD(MID(A2,15,3),2), "男","女")
=IF(ISODD(MID(A2,15,3)), "男","女")
=IF(ISEVEN(MID(A2,15,3)),"女", "男")
我就是不爱用IF:
=MID("女男",ISODD(MID(A2,15,3))+1,1)
=MID("女男",MOD(MID(A2,15,3),2)+1,1)
不一定回复的邮箱:
Leedongxu@live.com
长按二维码关注
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3