606 | 在Excel中根據中國身份證字號自動生成生日和性別的方法 | ||||
示範檔 | 無 | 範例檔 | 606.XLSX | 結果檔 | 606F.XLSX |
n 根據身份證字號自動生成生日的方法
身份證字號15位:410881790605552(A2儲存格) 輸出出生日期:1979/06/05(B2儲存格)。
點取B2儲存格輸入公式:「=CONCATENATE("19",MID(A2,7,2),"/",MID(A2,9,2),"/",MID(A2,11,2))」後,按Enter鍵,則結果如下圖所示。
公式解釋:
1. MID(A2,7,2)為在身份證字號中獲取表示年份的數值的字串
2. MID(A2,9,2) 為在身份證字號中獲取表示月份的數值的字串
3. MID(A2,11,2) 為在身份證字號中獲取表示日期的數位的字串
4. CONCATENATE("19",MID(A2,7,2),"/",MID(A2,9,2),"/",MID(A2,11,2))目的就是將多個字串合併在一起顯示。
身份證字號18位:410881197906055521(C2儲存格) 輸出出生日期:1979/06/05(D2儲存格)
點取D2儲存格輸入公式:「=CONCATENATE(MID(C2,7,4),"/",MID(C2,11,2),"/",MID(C2,13,2))」後,按Enter鍵,則結果如下圖所示。
15位身份證號:410881800605552(A3儲存格) 出生日期:800605(B3儲存格)
點取D2儲存格輸入公式:「=IF(LEN(A3)=15,MID(A3,7,6),MID(A3,9,6))」後,按Enter鍵,則結果如下圖所示。
18位身份證號:410881198006055521(C3儲存格) 出生日期:800605(D3儲存格)
點取D2儲存格輸入公式:「=IF(LEN(C3)=15,MID(C3,7,6),MID(C3,9,6))」後,按Enter鍵,則結果如下圖所示。
公式解釋:
LEN(A3)=15:檢查A3儲存格中字串的字元數目,其含義是檢查身份證字號的長度是否是15位。
MID(A3,7,6):從A3儲存格中字串的第7字元開始提取6字元數字,表示提取身份證字號15位數的第7、8、9、10、11、12字元數字。
MID(A3,9,6):從A3儲存格中字串的第9字元開始提取6字元數字,表示提取身份證字號18位數的第9、10、11、12、13、14字元數字。
=IF(LEN(A3)=15,MID(A3,7,6),MID(A3,9,6)):IF是一個邏輯判斷函數,表示如果A3儲存格是15位,則提取第7字元開始的6字元數值,如果不是15字元則提取自第9字元開始的6字元數值。
當我們建立的身份證字號字元數相同時,則前面介紹的二種方法都比較浪費時間,我們可以不用寫函數完成生日日期的擷取。
點取B2儲存格,輸入第一筆的生日日期「790605」字串。
框選B2:B16儲存格範圍,再點取「資料 > 資料工具 > 快速填入」圖示或按CTRL + E鍵,則框選儲存格範圍皆會填入A欄資料的生日日期,如下圖所示。
n 根據身份證字號自動生成性別的方法
在C欄輸入身份證字號,在E欄填寫性別,可以在E2儲存格中輸入公式:「=IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女")」後,按Enter鍵,
公式解釋:
LEN(C2)=15:檢查身份證字號的長度是否是15位。
MID(C2,15,1):如果身份證字號的長度是15位,那麼提取第15位元的數字。
MID(C2,17,1):如果身份證字號的長度不是15位,即18位身份證字號,那麼應該提取第17位元的數字。
MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2):用於得到給出數位除以指定數位後的餘數,表示對提出來的數值除以2以後所得到的餘數。
IF(MOD(IF(LEN(C2)=15,MID(C2,15,1),MID(C2,17,1)),2)=1,"男","女"):如果除以2以後的餘數是1,那麼E2儲存格顯示為=「男」,否則顯示為「女」。
身份證字號15位的看最後一位數,奇男偶女; 身份證字號18位的看第17位數,也是奇男偶女。
如果你是想在Excel表格中,從輸入的身份證字號內讓系統自動提取性別,可以點取E3儲存格輸入以下公式:「=IF(LEN(E3)=15,IF(MOD(MID(E3,15,1),2)=1,"男","女"),IF(MOD(MID(E3,17,1),2)=1,"男","女"))」後,按Enter鍵,顯示性別。
公式內的「E3」代表的是輸入身份證字號的儲存格。
留言列表