excel函數應用:如何用數位函數分段提取身份證信息*上

2020-10-20 部落窩教育BLW

引言:用Excel處理身份證號,在我們日常工作中是相當普遍的,尤其是對於做人事行政工作、財務工作的同學來說,更顯得十分重要。那麼一個身份證號,能給予我們多少信息量呢?這也算是一個老生常談的問題,但是最近在群裡又總見到有同學問及,那麼今天我們就再來做一個總結,看一看Excel函數對於身份證號碼對應的各個信息的處理方式吧。

***附加知識:

無論我們需要用Excel處理何種數據,首先都應先對該數據有一個了解,在不了解它的情況下就直接處理數據,有可能會把方向做錯,那樣的數據處理結果就令人堪憂了。 

我們都知道身份證號碼一共有18位(以前的身份證號碼是15位的,但是普及二代身份證這麼多年,可以說一代的15位身份證已經極少使用了,所以今天主要講解二代身份證的內容),身份證號碼按照「號碼段」區分大體可以分為6個信息: 

● 1~2位省、自治區、直轄市代碼;

● 3~4位地級市、盟、自治州代碼;

● 5~6位縣、縣級市、區代碼;

● 7~14位出生年月日;其中

7~10位,代表出生年份

11~12位,代表出生月份

13~14位,代表出生日期

● 15~17位為順序號,其中17位(倒數第二位)是奇數則為男性,偶數為女性;

● 18位為校驗碼,0-9和X。 

我們輔以圖示更加直觀的記憶一下:

應該說我們的身份證號中能有這麼多的信息量,當初研究出這套編碼規則的人也真是相當的不容易了。

*********

有了上面對於身份證的一個了解,我們就可以通過這個號碼提取很多的內容了。

一、省、市、縣自動提取

函數解析:

對於這個函數來說,本身並不複雜,關鍵是這幾張信息表。

不是每一個同學都有的,現在你也可以擁有這麼一套代碼對照表了,有需要的同學,可以在看完此文篇文章之後,加入下方提供的部落窩QQ群,下載即可。

公式中所使用的MID函數是典型的字符串分段取值的函數。

MID函數語法:

=MID(text,start_num,num_chars)

翻譯成白話就是在一個字符串(text)中,從某個序號位置(start_num)開始,提取之後連續的幾個(num_chars)字符。

那我們再來看一下上面的函數:

B5單元格=VLOOKUP(MID($B$2,1,2),省級碼對照表!A:B,2,0)

MID函數在B2單元格的身份證號中,提取出從第1位開始的連續兩位字符,就是「51」;再把「51」帶入到VLOOKUP函數中,並在《省級碼對照表》中的A、B兩列處進行索引即可。B7、B9單元格的市、縣索引方式也是一樣的,但是一定要記住,索引省,用到身份證的前兩位;索引市,要用到身份證的前4位。索引出XX省XX市的格式,不能直接使用第3~4位,因為會和其他的省市碼重複;縣級代碼同理,需要索引身份證號的前6位,不可單獨索引第5~6位。

當然有些同學會問,用其他函數可以嗎?針對第一個問題,用LEFT函數也可以,=VLOOKUP(LEFT($B$2,2),省級碼對照表!A:B,2,0)

但是建議同學們在身份證處理問題上,還是只使用MID函數來提取號碼段,便於對身份證信息這一類問題的統一解決,而LEFT函數或者RIGHT函數,只適合左右兩端的取值,對於中間部分的取值相對於MID函數就顯得有些麻煩了。

***對於市、縣提取的更高要求:

剛才我們說過了,如果直接用第3~4位,或者第5~6位的代碼去索引,由於號碼有重複,所以索引出的內容有可能就是錯誤的。但是在人事工作中,有時我們需要精準的提取出XX市、XX區縣,那我們就可以使用下面的方式來處理。

B14單元格函數:

=SUBSTITUTE(VLOOKUP(MID($B$2,1,4),省市碼對照表!A:B,2,0),VLOOKUP(MID($B$2,1,2),省級碼對照表!A:B,2,0),"")

聰明的你,是不是一眼就可以看出來,紅色的VLOOKUP函數,提取的是XX省XX市;藍色的VLOOKUP函數,提取的是XX省,我們再用SUBSTITUTE函數,將紅色索引值中的XX省部分替換為空文本即可。縣的提取也是同理,很簡單的思路,但是在工作中十分實用,趕緊學起來吧!

二、生日提取及應用拓展

函數解析:

同樣使用MID函數提取代表出生日期的7~14位,再用TEXT函數改變格式為「0000-00-00」,最後以減負運算將文本格式的日期改成數值形態,再調整單元格格式,就是我們需要的「出生日期」。說著很簡單,如果需要掌握這個函數的話,還是需要多運用來幫助記憶才行的。關於TEXT詳細的使用方法,小夥伴們可以參考之前的教程《如果函數有職業,TEXT絕對是變裝女皇!》,在此就不細說了。

當然,我們也可以用下面的方式提取:

 圖中「生日2」的公式分別利用MID函數在身份證號中提取出代表「出生年月日」的各個代碼段,再分別代入到DATE函數的year、month、day參數中即可。

雖說兩種方法的結果一樣,但是這是兩種思路,一個是整體提取,一個是分開提取,這在我們的實際工作中,有著很重要的作用。

***對出生日期的應用拓展:

1、通過身份證得出年齡

「年齡1」的算法依然使用了MID函數,今年的年份【YEAR(TODAY())】減去出生的年份【MID(B2,7,4)】就是年齡了;

「年齡2」的算法利用了DATEDIF函數,計算兩個日期的年差,而開始日期的表示方法【--TEXT(MID(B2,7,8),"0000-00-00")】就是我們剛才用的提取出生日期的函數。關於DATEDIF詳細的使用方法,小夥伴們可以參考之前的教程《用上DATEDIF,您永不再缺席那些重要的日子!》,在此就不細說了。

2、判斷生肖(以身份證公曆生日判斷)

生肖每12年一個輪迴,大家沒有必要背上面的對照碼,教給大家一個小技巧,以自己的出生年份除以12的餘數作為基準,再順序排列其他11個生肖的對照碼就好了。

B13單元格函數:

=VLOOKUP(MOD(MID(B2,7,4),12),A16:B27,2,0)

又是利用MID函數提取年份的四位,再通過MOD函數得到除以12的餘數作為索引值,接著利用VLOOKUP函數得到對照碼對應的生肖。

3、判斷星座

使用MID函數提取身份證中的月份和日期四位數字的文本格式【MID(B2,11,4)】,再使用減負運算,將其變更為數值形態。例如我們這個身份證號的11~14位是0322,數值形態就是322。值得注意的是,此時我們利用的並不是日期的序列值,而是一個常規形態的數值,通過對應碼區域,利用VLOOKUP的模糊查詢得到對應的星座。

*********

編後語:介於篇幅問題,以上即為上篇,關於生日提取的拓展思路還沒有講完,下篇內容我們繼續。

****部落窩教育-excel數位函數技巧****

原創:E圖表述/部落窩教育(未經同意,請勿轉載)

相關焦點

  • excel函數應用:如何用數位函數分段提取身份證信息*下
    在上篇內容中我們說到了用excel提取身份證號碼中的戶籍地址、出生日期、年齡、生肖、星座等內容,今天我們書接上回,繼續帶大家學習excel提取身份證信息的其他操作!當然同學們也可以使用函數:=DATE(YEAR(TODAY()),MID(B2,11,2),MID(B2,13,2))來得到身份證中的生日日期,上例就是為了給大家一個其他的函數應用思路,實際工作中,會哪個就用哪個吧。三、性別判斷及延伸思考相對於出生日期的話題,性別判斷的話題就顯得有點簡單了。
  • excel函數應用:如何用數位函數分段提取身份證信息*下
    在上篇內容中我們說到了用excel提取身份證號碼中的戶籍地址、出生日期、年齡、生肖、星座等內容,今天我們書接上回,繼續帶大家學習excel提取身份證信息的其他操作!當然同學們也可以使用函數:=DATE(YEAR(TODAY()),MID(B2,11,2),MID(B2,13,2))來得到身份證中的生日日期,上例就是為了給大家一個其他的函數應用思路,實際工作中,會哪個就用哪個吧。
  • 身份證號碼中究竟隱藏了多少信息?用Excel函數提取看看
    今天小編和大家一起來看看從身份證號碼中能提取到哪些信息。教程中用到的身份證號為模擬號碼,切勿對號入座。一、提取性別身份證號碼的第17位數字用來判斷性別,奇數為男性,偶數為女性,我們可以根據這一特點,用MID()函數和MOD()函數來提取性別。
  • excel函數公式應用:時間日期提取公式匯總,你用過哪些?
    如何快速在一組時間數據中分別提取出年月日、時分秒數據?如何快速計算某日期是年內第幾周、星期幾,以及日期之間間隔的天數、月數、年數、小時數、分鐘數?如何快速補全指定月份日期,合併日期和時間?今天老菜鳥針對上述在日常工作中經常會遇到的問題,總結了20個常用的關於日期和時間的公式,趕緊來看看吧!學習更多技巧,請收藏關注部落窩教育excel圖文教程。
  • Excel函數應用:提取身份證號碼中信息用到的函數
    Excel中函數公式是最重要的部分之一,利用Excel提高工作效率除了必備的操作技巧外,函數公式就是離不開的部分了。前段時間小編寫過一篇《》,裡面用到了多個函數公式,今天小編和大家詳細學習其中用到的函數公式。不想加班的,那就趕緊加入Excel與財務的學習大軍吧!
  • Excel知識1:用TEXT函數和MID函數提取身份證號碼的出生日期
    如下面這個例子:需要得到這些同學的出生日期,如何快速得到呢?我們就要把出生日期從身份證號碼中提取出來,然後轉換成我們想要的日期格式。;start_num指的是從左邊數,準備提取的第一個字符的位置;num_chars指的是要提取的數據的長度。
  • Excel如何通過函數進行數據提取?
    Excel函數的提取分為三部分,左側數據提取、中間數據提取和右側數據的提取,一起來看看吧!一、Excel如何通過函數進行左側數據提取?excel中的函數有非常強大的作用,下面小編來教大家如何使用函數對左側的數據進行提取吧。1.我們打開excel表格,想要對左邊六位數字進行提取出來。
  • Excel中如何利用len、lenb函數,快速提取需要的姓名信息?
    打開excel表格後我們可以看到,在員工姓名列除了有中文還有英文,而現在我們需要的僅僅是中文而已。就好比姓名後面跟著電話號碼,那我們應該怎麼來快速提取我們想要的信息呢?如果分離的話又不確定英文到底有多長,提取函數的話也是有相同困擾的。
  • Excel如何用函數提取長短不一的數據?
    如果在excel表格中的數據是長短不一的,如何提取出我們需要的數據呢?如何批量提取數據,一起來看看吧。1.首先我們要將銷售員中的店名和人名都提取出來。2.新建一個空白列,輸入函數find。批量提取數據需要通過很多的函數,我們接著上一節的操作,繼續給大家演示這樣的提取數據的方法。
  • Excel求餘數函數MOD、判斷奇偶性、在身份證號中提取性別信息
    今天我們來介紹求餘數函數MOD,並利用求餘數函數MOD來判斷數字奇偶性,以及在身份證號中提取性別信息。函數結果為兩數相除的餘數,結果的正負號與除數相同。如下面這些例子,公式及對應的結果如下圖所示。在身份證號中提取性別信息前面我們已經介紹過身份證號碼的編碼規則,18位身份證號的第17位代表著性別,奇數為男性,偶數為女性,因此我們可以通過判斷奇偶性來提取性別信息。如下面這些例子(身份證號為虛構),公式及對應的結果如下圖所示。
  • excel函數公式實戰:文本函數TEXT常用技巧匯總
    下面開始分享excel文本函數TEXT實戰公式技巧。以A4單元格為例,個位到十萬位都有有效數值,所以這部分數值保持不變;前兩位數沒有有效數值,則用0填充,於是550277就變成了00550277,這就是
  • excel函數公式應用:時間日期提取公式匯總,你用過哪些?
    如何快速在一組時間數據中分別提取出年月日、時分秒數據?如何快速計算某日期是年內第幾周、星期幾,以及日期之間間隔的天數、月數、年數、小時數、分鐘數?如何快速補全指定月份日期,合併日期和時間?今天老菜鳥針對上述在日常工作中經常會遇到的問題,總結了20個常用的關於日期和時間的公式,趕緊來看看吧!學習更多技巧,請收藏關注。
  • excel提取文本案例:如何從身份證號裡面提取出生年月?
    課程信息卡課程:《Excel天天訓練營》2.0圖文版章節:第2章-精通函數內容:提取文本(left\mid\right)在excel案例表格如圖中案例,需要從姓名中提取姓,從身份證中提取出生年月和後四位數字。
  • WPS Excel:函數提取各種各樣的字符串
    如果給你一份如下excel表格,怎樣將這些姓名和電話(文字和數字)分離開呢?本文將用下面這些函數來提取字符串中的文字和數字。熟練掌握這幾個函數和文末終極大法,提取內容就不怕啦。有規律的字符串這個是提取字符串最簡單的一種了。直接用LEFT函數提取前3位就是姓名,RIGHT函數提取後11位就是電話,MID函數從第4位開始提取3位就是手機號碼前3位了。
  • excel函數應用技巧:按區間統計個數,就用Frequency
    編按:價格帶統計與按成績統計優良中差的人數是一樣的,都是按區間統計個數。最簡單、最快速的辦法是用高級函數Frequency。學習更多技巧,請收藏關注部落窩教育excel圖文教程。接下來先看看FREQUENCY是如何解決這個問題的,再看看孰優孰劣。學習更多技巧,請收藏關注部落窩教育excel圖文教程。針對案例中需要統計的五個價格區間的商品個數,只需要一個公式:=FREQUENCY($C$2:$C$51,{15,50,80,100})就可以搞定。
  • 用Excel快速提取身份證號的信息
    人資的同事經常需要提取身份證中的信息作為檔案留存。那麼今天我就和大家分享一下身份證中都包含哪些信息,以及如何用Excel迅速提取出來。從這個案例中我們會學習到Excel對於文本、數字、日期處理的一些主要函數。
  • 「Excel技巧」提取字符函數三兄弟:left、mid、right函數
    它們的語法格式及實例應用,具體如下:一、left函數1、作用:用於對一個文本字符串,從左向右提取指定個數的字符。所以我們可以直接用left函數來提取,公式為:=LEFT(A2,7)。4、實例:例如,以下表格,想要從身份證號碼中提取員工的出生日期。我們都知道,身份證號碼的第七位開始往右數8位數字,是出生日期。
  • 函數right、函數left、函數if和函數mod組合用法在案例中的應用
    excel在上一篇文章中我們基於round系列函數(round、roundup和rounddown)、函數int和函數mod的基本運用方法,針對計算實際休假天數這一與現實生活密切相關的問題、函數left、函數if和函數mod組合用法在實際案例中的應用。
  • excel中的替代函數——replace和substitute函數的應用實例
    一,substitute函數與replace函數的基本用法對比。在下圖中,要把身份證號碼中的出生日期替換為四個星號,以替換C2單元格中的身份證號為例,在D2單元格中輸入函數=REPLACE(C2,7,8,"****")即可。表示在C2單元格中,從左數第7位開始,往右數8個字符,把這8個字符替換為****。
  • 編寫一個Excel自定義函數,身份證信息提取如探囊取物
    我們建立信息表時不僅要輸入性別、生日和年齡等信息,往往也需要輸入身份證號碼,而身份證號碼中包含有籍貫、性別、生日和年齡等信息,從身份證號碼中提取上述信息可以減少輸入工作量,提高工作效率。我利用VBA在Excel中自定義了一個IDinfo函數,一個函數就能完成從身份證號碼中提取出