Office中國論壇/Access中國論壇

標題: 與身份證相關的一些函數(shù) [打印本頁]

作者: 劉蘇    時間: 2016-1-23 21:56
標題: 與身份證相關的一些函數(shù)
Sue教你
花式提取
身份證中的信息


身份證號碼的結(jié)構(gòu)
第一代身份證號碼為15位:第1-6位區(qū)域代碼,可對應出生地;第7-12位為6位出生日期;第13-15位為順序碼;第15位奇數(shù)則為男性,偶數(shù)則為女性
第二代身份證號碼為18位:第1-6位區(qū)域代碼,可對應出生地;第7-14位為8位出生日期;第15-17位為順序碼;第17位奇數(shù)則為男性,偶數(shù)則為女性

2000年后的新身份證從地區(qū)碼后插入兩位年份為20,并多一位校驗碼,在第18位。

設:15/18位身份證號碼存儲在A2單元格,對應以下公式可提取相關信息:
以下公式均為考慮15位身份證號碼通用

提取生日:
常規(guī)思路及優(yōu)化:
=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函數(shù)

提取性別:
=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://ctxi.cn/) Powered by Discuz! X3.3