- ベストアンサー
エクセル202.1-201.9=0.2にならないのは何故?
=202.1-201.9と入れると0.199999999999989 =302.1-301.9と入れると0.200000000000045 =2.1-1.9 と入れると0.200000000000000 どうして、解が同じにならないのでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
パッチを当てるとは、OSやアプリケーションソフトなどで後から不具合点が見つかった場合、修正プログラムを配布してまずい箇所を補正するという意味です。 これは、CDの配布もありますが、インターネットに接続されていれば簡単に修正できます。 左下のスタート/Windows UpdateからWindows Update へようこそ、で更新をスキャンするを実行してください。 OFFCEのアップデートだけでなく、OSの不都合点も改善できます。 ただし、インターネット接続は、電話回線のモデム(ADSLでない)の場合、かなり時間がかかります。
その他の回答 (5)
- koma1000nin
- ベストアンサー率30% (342/1133)
再び回答します。 何のためにこれほどの精度を必要となさるのか疑問なのですが、小数点以下6桁程度の表示にすれば、丸め処理が施されてちゃんとした数値が表示されます。 たまたま遊び心で質問されたのなら、これ以上の回答はしなくてもいいですね?
お礼
ありがとうございます。 参考になりました
- koma1000nin
- ベストアンサー率30% (342/1133)
コンピュータの計算する数字としては、正真正銘の正しい結果です。コンピュータ内部では二進数表現であり、整数であれば我々の世界の十進数にピタリ換算できますけれども、いかんせん小数だけは次のような数値の組み合わせでしか表現できないので、ご指摘のような「近い数値」になってしまうのです。 0.5 0.25 0.125 0.0625 0.03125 0.015625 0.0078125 0.00390625 … 上記を全部加えれば0.999…が出てきます。 きちんと答えが出るのは、プログラムで「丸め」等の調整をしているからです。本件の場合は、無調整の数値が表示されているってことです。
お礼
ありがとうございます。 参考になりました
- imogasi
- ベストアンサー率27% (4737/17069)
http://pc21.nikkeibp.co.jp/special/gosa/eg1.shtml に判りやすい詳細な説明があります。 この雑誌の(15年中の号?)特集記事もあった記憶があります。
お礼
ありがとうございます。 参考になりました
浮動小数点の丸め誤差が発生しているためでしょう。 http://support.microsoft.com/default.aspx?scid=kb;JA;78113
お礼
ありがとうございます。 参考になりました
- HAL007
- ベストアンサー率29% (1751/5869)
全く新しいブックで計算していますか? 大量の計算式が入っていると質問の様な状態になった 経験が有ります。 大量と言うのは5000行×BY列程度に計算式がびっしり入った状態です。 Excel2002 SP2でこの様な状態になるのですが、 SP3で安定化のパッチが出ています。SP3を当てようにも CDが無くて当てられず確認が出来ませんが当てて見てはどうでしょうか? 真っ白なブックで出る場合、指数表示で小数点以下15桁程度にすると 末尾が1.99・・・・990E-01 となります。この場合は小数点表示に変えるだけで直ります。
お礼
早速ありがとうございます。 Excel2002 を使っています。 大量の計算式が入っています。 全く新しいブックで=201.9-201.7と入れたら 0.200000000000017 となりました。 別のセルに=IF(A1>0.2,"A","")のような式を入れた場合、本来なら空白のところ、”A"と出てしまいたいへん困っています。 「SP3で安定化のパッチが出ています。SP3を当てようにも CDが無くて当てられず確認が出来ませんが当てて見てはどうでしょうか?」 この当てるとは、どういう意味ですか?
お礼
ありがとうございます。 参考になりました