身分證字號為 10 碼(舊制 15 碼、新制 18 碼)英數混合碼,Excel 預設將超過 11 位數字轉為科學記號(如 `1.23E+17`),且直接輸入 15 位以上數字會將尾數置零(如 `123456789012345678` 變 `123456789012345000`),導致資料遺失。本文提供完整解決方案。
唯有將儲存格格式預設為「文字」,Excel 才會完全保留輸入內容,不進行數值轉換。
✅ 確保身分證字號以純文字形式完整保留。
輸入前先將儲存格設為「文字」格式(同步驟 1-2),再逐筆輸入或複製貼上。
若資料已匯入且顯示異常,嘗試以下方法恢復(前提:原始數值未超過 Excel 15 位有效數字精度):
⚠️ 重要限制: Excel 數值精度僅 15 位有效數字。若身分證字號為 18 碼純數字,直接輸入/貼上時尾數已被置零,**無法透過格式修復恢復原始尾數**。唯一解法:匯入/輸入前必須先設為文字格式。
若需從大量身分證字號提取生日、性別,可使用公式或 Power Query:
=IF(LEN(A2)=18, DATE(MID(A2,7,4), MID(A2,11,2), MID(A2,13,2)), DATE(1900+MID(A2,7,2), MID(A2,9,2), MID(A2,11,2)))
性別判斷(新制第 17 碼):`=IF(MOD(MID(A2,17,1),2)=1,"男","女")`
| 錯誤操作 | 後果 | 正確做法 |
|---|---|---|
| 直接貼上身分證字號未設格式 | 顯示科學記號 / 尾數歸零 | 先設目標區為「文字」格式 |
| 用「數值」格式存 18 碼身分證 | 最後 3 碼變 000,永久遺失 | 務必用「文字」格式 |
| 以為改格式能救回尾數歸零資料 | 無效,精度已損失 | 重新從來源匯入(設文字格式) |
| CSV 匯入未指定欄位格式 | Excel 自動判斷為數值科學記號 | 用「資料」→「從文字/CSV」→ 該欄選「文字」 |