為什麼 EXCEL 對超15位數會當做0?

Excel 對超過 15 位數字自動將後面的數字變成 0,是因為它遵循 IEEE 754 浮點數標準,這個標準限制了 Excel 在處理數值時的精度為 15 位有效數字。

原因詳解

  • Excel 將數字視為「浮點數」來儲存與計算。

  • 根據 IEEE 754 標準,浮點數在 Excel 中最多只能精確表示 15 位數字。

  • 超過第 15 位的數字會被自動轉換為 0,不是因為 Excel「當作 0」,而是因為它 無法精確儲存。

例如:

輸入:1234567890123456789
顯示:1234567890123450000

第 16 位以後的數字會被改為 0。

解決方法

  • 使用文字儲存 - 在輸入前將單元格格式設為「文字」,或在數字前加上單引號 ',例如 '1234567890123456789
  • 使用文字儲存 - 若是信用卡號、身份證號等非計算用途的長數字,建議以文字儲存
  • 避免數值運算 - 長數字若用於識別用途,不應進行加減乘除等運算

注意事項

  • 不要直接輸入長數字作為數值,否則 Excel 會自動截斷精度。

  • 避免用 Excel 儲存精確識別碼(如銀行帳號、身份證號),除非格式為文字。

  • 即使格式為文字,也要注意輸入方式:輸入前加 ' 或先設定格式。



發佈留言

0 留言