Excelなどの表計算ソフトで「1/3」を入力すると、表示は「0.33333…」となりますが、内部的には無限に続く小数を完全に表現できないため、計算結果に誤差が生じることがあります。特に、計算結果が「0.99999…」となり、意図しない「1」と表示される現象が発生することがあります。
Excelにおける小数の表現と計算誤差
Excelでは、小数を内部的に2進数で表現しますが、1/3のような循環小数は2進数で正確に表現できません。そのため、1/3は内部的に近似値として保存され、計算時に誤差が生じることがあります。例えば、1/3を3倍すると、理論上は1になるはずですが、実際には0.9999999999999999…となり、表示上は1と表示されることがあります。
数学的な視点:0.99999…と1は等しい
数学的には、0.99999…(9が無限に続く小数)は1と等しいとされています。これは、無限級数の極限としての定義に基づいています。具体的には、0.99999…は、0.9 + 0.09 + 0.009 + …という無限級数であり、この級数の和は1に収束します。したがって、0.99999… = 1とみなされます。
実務上の影響と対策
実務でExcelを使用する際、計算結果が意図しない値になることを避けるためには、以下の対策が有効です。
- 表示桁数の設定:セルの書式設定で表示する小数点以下の桁数を制限することで、誤差の影響を最小限に抑えることができます。
- 四捨五入関数の使用:ROUND関数やROUNDDOWN関数を使用して、計算結果を所定の桁数に丸めることができます。
- 数値の検証:計算結果が期待通りでない場合、数式を確認し、必要に応じて補正を加えることが重要です。
まとめ
Excelにおける1/3の計算誤差は、コンピュータの内部的な数値表現に起因するものであり、数学的には0.99999…と1は等しいとされています。実務での計算においては、表示桁数の設定や四捨五入関数の使用などの対策を講じることで、誤差の影響を最小限に抑えることができます。


コメント