祁志剛
Excel自定義函數(shù)處理身份證號(hào)碼
祁志剛
Excel的功能相當(dāng)強(qiáng)大,在實(shí)際工作中的應(yīng)用也非常廣泛,但是有些問(wèn)題用Excel本身提供的功能并不能完全解決。
VBA的全稱是Visual Basic for Application,它存在于Office的所有組件中,Word,Excel,Powerpoint,Access中都可以使用VBA,用VBA編寫的代碼可以擴(kuò)充Office應(yīng)用程序的功能,比如可以使任務(wù)自動(dòng)化,編寫自定義函數(shù)等。
用Excel處理數(shù)據(jù)時(shí),可能會(huì)遇到各種各樣的問(wèn)題,有些問(wèn)題可以用函數(shù)來(lái)解決,但是有些問(wèn)題用函數(shù)難以解決或無(wú)法解決。這時(shí)我們可以使用VBA,VBA能夠擴(kuò)充Excel的功能,把復(fù)雜的問(wèn)題簡(jiǎn)單化,并且它的執(zhí)行效率遠(yuǎn)遠(yuǎn)高于數(shù)組函數(shù),在實(shí)際工作中有著非常廣泛的應(yīng)用。
1.身份證號(hào)碼中包含的信息
從左至右,第1~2位為省級(jí)代碼,第3~4位為地市代碼,第5~6位為縣區(qū)代碼,第7~10位為出生年份,第11~12位為出生月份,第13~14位為出生日期,第15~17位為順序碼,表示在同一地址碼所標(biāo)識(shí)的區(qū)域范圍內(nèi),對(duì)同年、同月、同日出生的人編定的順序號(hào),順序碼的奇數(shù)分配給男性,偶數(shù)分配給女性,第18位為作為尾號(hào)的校驗(yàn)碼。根據(jù)《中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)GB 11643-1999》中有關(guān)公民身份號(hào)碼的規(guī)定,校驗(yàn)碼是根據(jù)前面17位數(shù)字碼,按照ISO 7064:1983.MOD 11-2校驗(yàn)碼計(jì)算出來(lái)的。
以某一身份證號(hào)碼為例(見(jiàn)表1):
[1] 身份證號(hào)碼校驗(yàn)公式[EB/OL].http://wenku.baidu.com/view/ e554382e453610661ed9f472.html.
2011-11-26
祁志剛,大專,中教一級(jí)。
河北省遷安市彭店子鄉(xiāng)中心學(xué)校。
表1
13 02 83 1999 06 12 002 8省份代碼 地市代碼縣區(qū)代碼出生年份出生月份出生日期 順序碼 校驗(yàn)碼
'該函數(shù)功能:根據(jù)身份證號(hào)碼,計(jì)算出生年月日.
'該函數(shù)功能:根據(jù)身份證號(hào)碼,計(jì)算性別.
如圖1所示。
圖1
3.在Excel中使用自定義函數(shù)
函數(shù)編寫成功后就可以在Excel中使用了,自定義函數(shù)的使用方法與Excel自帶函數(shù)相同(如圖2所示):
圖2
應(yīng)用實(shí)例如圖3所示:
圖3
筆者長(zhǎng)期從事數(shù)據(jù)處理工作,希望大家能夠通過(guò)對(duì)VBA的學(xué)習(xí)提高自己的工作效率。