excel中如何從身份證號碼裡提取生年月日及性別等

2022-09-29 22:21:03 字數 3415 閱讀 4346

假如,a1是姓名,b1是身份證號碼,c1是出生年月

可以用以下公式求出

=if(len(b2)=15,"19"&mid(b2,7,2)&"年"&mid(b2,9,2)&"月"&mid(b2,11,2)&"日",mid(b2,7,4)&"年"&mid(b2,11,2)&"月"&mid(b2,13,2)&"日")

在c2設定單元格格式為「日期」即可在c2中正確提取出其出生年月

2excel從身份證號碼求出生年月日、性別及年齡公式2007-11-26 16:40excel中用身份證號碼求出生年月日及年齡公式2023年11月21日星期三 17:17一、分析身份證號碼

其實,身份證號碼與乙個人的性別、出生年月、籍貫等資訊是緊密相連的,無論是15位還是18位的身份證號碼,其中都儲存了相關的個人資訊。

15位身份證號碼:第7、8位為出生年份(兩位數),第9、10位為出生月份,第11、12位代表出生日期,第15位代表性別,奇數為男,偶數為女。

18位身份證號碼:第7、8、9、10位為出生年份(四位數),第11、第12位為出生月份,第13、14位代表出生日期,第17位代表性別,奇數為男,偶數為女。

例如,某員工的身份證號碼(15位)是320521那麼表示2023年8月7日出生,性別為女。如果能想辦法從這些身份證號碼中將上述個人資訊提取出來,不僅快速簡便,而且不容易出錯,核對時也只需要對身份證號碼進行檢查,肯定可以大大提高工作效率。

二、提取個人資訊

這裡,我們需要使用if、len、mod、

mid、date等函式從身份證號碼中提取個人資訊。如圖1所示,其中員工的身份證號碼資訊已輸入完畢(c列),出生年月資訊填寫在d列,性別資訊填寫在b列。

1. 提取出生年月日資訊

由於上交報表時只需要填寫出生年月,不需要填寫出生日期,因此這裡我們只需要關心身份證號碼的相應部位即可,即顯示為「720807」這樣的資訊。在d2單元格中輸入公式=if(len(a1)=15,19&mid(a1,7,2)&"-"&mid(a1,9,2)&"-"&mid(a1,11,2),mid(a1,7,4)&"-"&mid(a1,11,2)&"-"&mid(a1,13,2))其中:

len(a1)=15:檢查c2單元格中字串的字元數目,本例的含義是檢查身份證號碼的長度是否是15位。

mid(a1,7,4):從c2單元格中字串的第7位開始提取四位數字,本例中表示提取15位身份證號碼的第7、8、9、10位數字。

mid(a1,9,4):從c2單元格中字串的第9位開始提取四位數字,本例中表示提取18位身份證號碼的第9、10、11、12位數字。

if(len(a1)=15,mid(a1,7,4),mid(a1,9,4)):if是乙個邏輯判斷函式,表示如果a1單元格是15位,則提取第7位開始的四位數字,如果不是15位則提取自第9位開始的四位數字。

&為連線符「」中的字元為原樣輸出

2. 提取性別資訊

由於報表中各位員工的序號編排是按照上級核定的編制進行的,因此不可能按照男、女固定的順序進行編排,如果乙個乙個手工輸入的話,既麻煩又容易出錯

例如性別資訊統一在b列填寫,可以在b2單元格中輸入公式「=if(mod(if(len(a1)=15,mid(a1,15,1),mid(a1,17,1)),2)=1,"男","女")」,其中:

len(a1)=15:檢查身份證號碼的長度是否是15位。

mid(a1,15,1):如果身份證號碼的長度是15位,那麼提取第15位的數字。

mid(a1,17,1):如果身份證號碼的長度不是15位,即18位身份證號碼,那麼應該提取第17位的數字。

mod(if(len(a1)=15,mid(a1,15,1),mid(a1,17,1)),2):用於得到給出數字除以指定數字後的餘數,本例表示對提出來的數值除以2以後所得到的餘數。

if(mod(if(len(a1)=15,mid(c2,15,1),mid(a1,17,1)),2)=1,"男","女"):如果除以2以後的餘數是1,那麼b2單元格顯示為「男」,否則顯示為「女」。

回車確認

3.提取年齡

=year(today())-value(if(len(a1)=15,19&mid(a1,7,2),mid(a1,7,4)))

excel函式提取身份證資料公式

出生年月:(身份證為18位的)

e2=mid(a2,7,4)&"年"&mid(a2,11,2)&"月"mid(a2,13,2)&"日"

e2=mid(a2,7,8)

答案說明:

表中用身份證號碼中取其中的號碼用:mid(文字,開始字元,所取字元數);

2.15位身份證號從第7位到第12位是出生年月日,年份用的是2位數。

18位身份證號從第7位到第14位是出生的年月日,年份用的是4位數。

從身份證號碼中提取出表示出生年、月、日的數字,用文字函式mid()可以達到目的。mid()——從指定位置開始提取指定個數的字元(從左向右)。

對乙個身份證號碼是15位或是18位進行判斷,用邏輯判斷函式if()和字元個數計算函式len()輔助使用可以完成。綜合上述分析,可以通過下述操作,完成形如1978-12-24樣式的出生年月日自動提取:假如身份證號資料在c2單元格

=if(len(c2)=15,mid(c2,7,2)&"-"&mid(c2,9,2)&"-"&mid(c2,11,2),mid(c2,7,4)&"-"&mid(c2,11,2)&"-"&mid(c2,13,2))

根據身份證號碼(15位和18位通用)自動提取性別的自編公式:

說明:公式中的c2是身份證號

根據身份證號碼求性別:

=if(len(c2)=15,if(mod(value(right(c2,3)),2)=0,"女","男"),if(len(c2)=18,if(mod(value(mid(c2,17,1)),2)=0,"女","男"),"身份證錯"))

18位的還可以直接輸入公式提取性別:=if(mod(mid(c2,17,1),2)=0,"女","男")

根據身份證號碼求年齡:

=if(len(c2)=15,2007-value(mid(c2,7,2)),if(len(c2)=18,2007-value(mid(c2,7,4)),"身份證錯"))

表中用year\month\day函式取相應的年月日資料;

5.籍貫

公式一共使用了五個巢狀的if函式,第乙個if函式中的邏輯判斷式「mid(c2,1,2)<="15"」用來判斷身份證歸屬地**是否在11到15之間。如果這個邏輯判斷式成立,那麼公式就執行引數「choose(mid(c2,1,2)-10,"北京","天津","河北","山西","內蒙古")」。其中「(mid(c2,1,2)」返回身份證歸屬地(省市區)的**(即身份證號碼的前兩位),如果(mid(c2,1,2)返回的結果是11(即北京市的**),那麼「mid(c2,1,2)-10」返回供choose函式使用的索引號。

當「mid(c2,1,2)-10」的結果是「1」時,choose函式就會返回後面參數列中的身份證歸屬地「北京」。

另外乙個根據身份證提取出生年月很簡單的乙個公式:

=text(mid(a1,7,8),"0000-00-00")

身份證號碼大全

下面這些是福350000 福建省建所有縣市身份證號碼前6位。350100 福州市 350101 市轄區 350102 鼓樓區 350103 台江區 350104 倉山區 350105 馬尾區 350111 晉安區 350121 閩侯縣 350122 連江縣 350123 羅源縣 350124 閩清縣...

Excel中輸入身份證號碼的方法

1.原因分析 預設情況下,excel中每個單元格所能顯示的數字為11位,輸入超過12位的數值,系統自動將其轉換為科學記數格式,如果輸入超過15位的數值,系統自動將15位以後的數值轉換為 0 比如123456789012,就會顯示為1.23457e 11。這都是excel軟體本身的原因,excel軟體...

身份證號碼變更證明

公民身份號碼更正證明存根 重號當事人姓名 重號當事人住址 更正前公民身份號碼 更正後公民身份號碼 更正原因 重號 錯號 申請人住址 申請理由 申請人簽名 聯絡 經辦人更正日期 年月日 公民身份號碼更正證明 本轄區公民 曾用名 住址 原使用的公民身份號碼為 系 重 錯 號。根據 中華人民共和國居民身份...