每日最新頭條.有趣資訊

身份證號相關函數公式案例解讀,絕對的硬核乾貨哦!

每個人都有一張身份證,身份證號碼中不僅包含了出生年月,還有性別等信息……如果給你幾千條或幾萬條人員信息,你能快速的從身份證號碼中提取出生年月,性別等信息嗎?

一、從身份證號碼中提取出生年月。

方法:

在目標單元格中輸入公式:=TEXT(MID(C3,7,8),"00-00-00")。

解讀:

1、MId函數的作用為:從文本字元傳中指定的起始位置返回指定長度的字元串。語法結構為:=Mid(字元串,起始位置,長度)。

2、Text函數的作用為:根據制定的數值格式將數值轉換為文本。

3、公式:=TEXT(MID(C3,7,8),"00-00-00")中,首先用Mid函數提取C3單元格中從第7位開始,長度為8的字元,然後用Text函數設置成格式為“00-00-00”(暨年月日)的文本。

二、從身份證號碼中提取性別。

方法:

在目標單元格中輸入公式:=IF(MOD(MID(C3,17,1),2),"男","女")。

解讀:

1、Mod函數的作用為:返回兩數相除的余數。語法結構為:=Mod(被除數,除數),例如=Mod(6,2),返回值為0;=Mod(3,2),返回值為1。

2、If函數的作用為:判斷條件是否成立,如果成立返回一個值,否則返回另外一個值。

3、公式:=IF(MOD(MID(C3,17,1),2),"男","女")中,首先利用Mid函數提取C3單元格中字元串的第17位,然後除以2,返回余數(暨Mod函數的作用,其返回的結構只有0和1兩種),最後用If函數判斷余數,如果為“1”,返回“男”,如果為“0”,返回“女”。

三、從身份證號碼中提取年齡

方法:

在目標單元格中輸入公式:=DATEDIF(D3,TODAY(),"y")。

解讀:

1、Datedif函數是系統隱藏函數,其作用為按照指定的類型計算兩個日期之間的差值。語法結構為:=Datedif(開始日期,結束日期,統計方式),常見的“統計方式”有:“Y”、“M”、“D”;分別為“年”、“月”、“日”。

2、Today()函數的作用為獲取當天的日期。

四、用身份證號碼計算退休年齡。

方法:

在目標單元格中輸入公式:=EDATE(D3,MOD(MID(C3,17,1),2)*120+600)。

解讀:

1、Edate函數的作用為返回指定日期之前或之後X月的日期。語法結構為:=Edate(指定日期,月份)。

2、公式:=EDATE(D3,MOD(MID(C3,17,1),2)*120+600)中,首先用判斷性別,如果為“男”性,則公式為:=Edate(D3,1*120+600),暨從出生日期算起之後的720個月(暨60年)的日期;如果為“女性”,則公式為:=Edate(D3,0*120+600),暨從出生日期算起之後的600個月(暨50年)的日期。

五、判斷身份證號是否重複。

1、常規操作(錯誤辦法)。

方法:

在目標單元格中輸入公式:=IF(COUNTIF($C$3:$C$9,C3)>1,"重複","")。

解讀:

1、Countif函數是單條件計數函數,其語法結構為:=Countif(條件範圍,條件)。

2、利用Countif函數統計出當前值在C3:C9範圍內數量,緊接著和1進行比較,並用If函數來判斷,如果比較的結果成立,則返回“重複”,否則返回空值。

3、從單元格值中可以看出,兩個身份證號並不重複,但是返回的結果為“重複”,Why?因為在Excel中的數字的有效位數為15位,超過15位的全部按“0”處理。而上述的兩個號碼中只有最後兩位不同,故被Excel作為“0”處理,因此判斷的結果為“重複”。

2、正確做法。

方法:

在目標單元格中輸入公式:=IF(COUNTIF(C$3:C$9,C3&"*")>1,"重複","")。

解讀:

1、此公式和“常規操作”的公式比較,只是在C3後添加了&"*",但能得到正確的結果,Why?

2、“*”在Excel中被稱為通配符,起作用就是將當前的數字強製轉換為文本,然後進行比較,從而得到了正確的結果。

六、防止身份證號重複。

方法:

1、選定目標單元格。

2、【數據】-【數據驗證】,選擇【允許】中的【自定義】,並在【公式】中輸入:=COUNTIF(C$3:C$9,C3)=1。

3、完善提示信息並【確定】。

結束語:

通過本文的學習,相信大家對身份證號碼中隱藏的秘密有了更多的了解,如果有不明白的地方,歡迎在留言區留言討論哦!

獲得更多的PTT最新消息
按讚加入粉絲團