- ベストアンサー
エクセルで入力した数値が勝手に置き換わります
エクセルで 「63010.098」と入力すると 「63010.0979999999」と置き換わって(?)しまいます。 セルでの表示は入力した「63010.098」なのですが、数式バーには「63010.0979999999」と表示されています。 新規作成のシートで入力しておこるので、条件式や関数が設定されていることはありません。 セルの書式は「標準」です。 ちなみに、EXCEL 2000 でも EXCEL 2003 でも発生します。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
質問とちょっと違うが、「エクセル 誤差」でWEB照会(Googleなど)すれば、演算誤差を中心に、沢山記事が出ます。 http://pc.nikkeibp.co.jp/pc21/special/gosa/eg2.shtml http://www.kentei.ne.jp/quali/column/knowhow/030415.html http://support.microsoft.com/kb/78113/ja http://nadesi.com/wiki/index.php?%C1%C6%C3%E3%2FExcel%2F%B1%E9%BB%BB%B8%ED%BA%B9 http://support.microsoft.com/kb/402554/ja これらを見て、質問者がショックを受けないようにね。 ーー これら深入りする前に、エクセルやその他のことを勉強されることを お勧めする。エクセルの日常の課題解決の利用で他に学ぶことが沢山あるから。
その他の回答 (2)
- okormazd
- ベストアンサー率50% (1224/2412)
そのような例は珍しいものではありません。どんなコンピュータでもどこでもいつでもおこります。現在のコンピュータの宿命です。 といっても始まらないので、もう少し・・・ コンピュータは2進数で計算します。私たちが普段使っているのは10進数です。したがって、コンピュータに計算させるには、10進数を2進数に変換してやらなければいけません。この変換が、いつもぴったりと行くとは限らないのです。誤差が出ます。また、コンピュータの計算結果を私たちにわかるようにするには、2進→10進の変換が必要です。このときも誤差が出ます。 コンピュータを使うときは、これらの誤差が生じることを承知で使わなければなりません。繰り返し計算ではその誤差がどんどんたまります。誤差を生じるのがいやなら、誤差が出ないように工夫する必要があります。工夫によって我慢できる誤差範囲に収めることができるのです。 なお、質問の誤差は、EXCELでの誤差です。他のソフトでも同じ誤差が出るかというとその誤差はそれぞれのソフトによります。 EXCELの精度は10進の桁数で15桁位です。 詳しいことは勉強してください。
お礼
回答ありがとうございます。 バグか何かで対処方法があるのかと思ったのですが、これが正しいのですね。 確かに「63010.0979999999」に置き換わってしまったセルに1000000をかけた場合、「63010.098」と入力したものに1000000をかけた結果が返ってくるのですね。 なので計算結果は正しいのかと思ったのですが、逆に「63010.0979999999」と入力して1000000をかけた場合、正しく算出されないのですね。 とはいえ、誤差だといえば、誤差ですね。 バグ!?対処方法は???と思ったのですが、ちゃんと認識することが大事なのですね。 これからは誤差が生じることを認識して使用いたします。 ありがとうございました。
- cmc32000
- ベストアンサー率41% (103/251)
コンピューターの内部では2進数で処理しているので、それが正しい中身です。 小数点以下の表示を3桁にすれば、希望の表示になります。 ツールバーの.00→.0のボタンを何回か押してみてください。
お礼
回答ありがとうございます。 表示が問題なのではなく、持っている数値が変わってしまうことに弱ってしまいました。 63010.098で計算処理をしたいのに、63010.0979999999 で計算処理をされると困ると・・ バグか何かで対処方法があるのかと思ったのですが、これが正しいのですね。 納得しました。ありがとうございました。
お礼
お礼が遅くなり、すみません。 バグ!?って思ってしまったので、”誤差”という言葉が浮かびませんでした。 仕様(とまでは言わないのかもしれませんが…)なのですね。 これからは、これらのことを認識して使用していきたいと思います。 参考になりました。 ありがとうございます。