こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

EXCELの計算結果を値コピーするとおかしな値になる

EXCEL2003を使っていますが、ふとしたことで気になることがあります。
下記のような簡単な計算とコピー作業なのですがコピーした値がおかしいのです。

・セルA1に420.2を入力する。
・セルB1に420.3を入力する。
・セルC1に =A1-B1 の計算式を入れる。
・セルD1にC1のコピーを形式選択貼り付けで”値”のみ貼り付けする。

すると、セルD1には-0.1が表示されるのですが、ワークシート上段の普段入力とかをするエリアには-0.100000000000023が表示されています。
普通は別に困らないのですが、計算結果が-0.2とかになると-0.199999999999989になりヒストグラム等では頻度のカウントがひとつ繰り上がってしまいます。
(値コピー先ではなく計算結果でヒストグラムをとっても同じ結果になります。)
Officeのヘルプも一応見てみたのですが、検索文言がややこしくて見つけられませんでした。簡単なことを見逃しているかも知れませんがアドバイスお願いします。

投稿日時 - 2010-04-08 22:36:59

QNo.5812545

暇なときに回答ください

このQ&Aは役に立ちましたか?

6人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

こんばんは!
すでにNo.1さんの方で回答が出ていると思います。
浮動小数点の影響ですね!
時間の計算等でも同様のことがおきる場合があります。
特に「0.1」などの場合、2進数で表した場合循環数値になってしまうみたいです。

一つの方法としてE4セルの数式を
=ROUND(D4-C4,5)
としてみるやり方もあるみたいですよ。

以上、参考になれば幸いです。m(__)m

投稿日時 - 2010-04-08 22:57:35

お礼

ご回答ありがとうございました。
=ROUND(D4-C4,5)で解決できそうです。
でも EXCELでもこんなことがあるんですね。

助かりました。m(_ _)m

投稿日時 - 2010-04-10 21:04:01

多分そういう仕様です。(対策例の一つが載っています)

http://pc.nikkeibp.co.jp/pc21/special/gosa/

投稿日時 - 2010-04-08 22:46:39

お礼

ご回答ありがとうございました。
参考文献ためになりました。計算は完璧だと思っていた
EXCELでこんなことが起こるとは思いもよりませんでした。

良い勉強になりました。

投稿日時 - 2010-04-10 20:57:07

あなたにオススメの質問