[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『入力値に誤差発生?!』(庸)
妙な現象に出くわしました。
新規ブックにおいて、任意のセルに手入力で「43797.348」と数値を入力。 すると、勝手に「43797.347999999」に変換されてしまうのです。 もちろん、表示桁数が小さければ「43797.348」と表示はされます。
周辺数値で試してみたところ 43797.347や43797.349は普通に入力できましたが たとえば、64100.348も9が並びました。
もちろん、こんなばかな設定がオートコレクトに登録されているわけもなく…
これはいったい何が起きているのでしょうか。 対処方法はありますか? 土地の座標値入力なので、どうしても正確にいれたいのです。 (庸@2003/NT)
こんばんわ〜
小数点以下の数値は演算誤差の可能性があります。 こちらは参考になりませんでしょうか? http://pc21.nikkeibp.co.jp/special/gosa/
(キリキ)(〃⌒o⌒)b
ども、こんばんは。 このサイトで繰り返し貼られる記事ですね^^
それがですねえ、999…が小数点以下10桁目で止まって 11桁目からは、また0に戻るんですよ。 演算誤差ってそんな形で現れることもアリですか?(庸)
>それがですねえ、999…が小数点以下10桁目で止まって >11桁目からは、また0に戻るんですよ。 数値の数が全部で「15」個だから、たまたま10桁目で止まるだけかな?? 試しに「9000.05085」を入力すると 9000.05084999999ってなります。
上記サイトの 第3回 いろいろな誤差対策 ◆ROUND 関数や ROUNDDOWN 関数は計算を間違えることがある も参考になりますよ〜♪
(キリキ)(〃⌒o⌒)b
そっか、たまたまなのかぁ。 へんな形で出てきたもので、演算誤差とは違うナニカなのかとかんぐっちゃいました。 今回は桁数指定のTEXT関数で逃げることにしました(第2回に出てくる手法ですね)。 第3回のぶんは、実務でちょいちょい使っています^^ 第4回のぶんは・・・読んでもわかりませんでした(泣) (庸)
参考資料です。 (Hatch) [XL2003] 小数を使用した計算の誤差について http://support.microsoft.com/kb/813530/JA [XL97]特定の小数部を持つ数値を入力した場合に誤差を生じる http://support.microsoft.com/kb/161234/JA/
Hatchさん、ありがとうございます。 まさしく、この2番目です。
やー、なにが一番焦ったとかというと 演算誤差とか浮動小数点って、 内部でそのように数値が保持されているのは、そういう造りなんだからと納得していても 数式バーでまで、そのまんま表示されることもあるとは思ってなかったんですね。 またひとつ覚えました。ありがとうございます^^(庸)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.