[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ROUNDDOWNの計算結果が合わない???』(桐)
いつもお世話になっています。
ROUNDDOWNを使って計算させたのですが答えが合いません。
どうしてなのでしょうか?
申し訳ございませんが宜しく御願い致します。
A B C 1 454500 20.7 6,362 ↑=ROUNDDOWN((A1*(B1-20)/50),0) 計算結果は【6,363】になるはずなのですが・・・
詳しくは分からないですが、いわゆる小数誤差と呼ばれるものかと思います。
B1-20は、「20.7-20」で、普通なら「0.7」になるだけですが、 実際は、少し小さいようです。
試みに =(B1-20)=0.7 と入力してみますと、Trueにはなりません。 中間で一旦Roundをかませて、ピュアな「0.7」にする必要がありそうです。(※)
(1) C1セル =ROUNDDOWN((A1*(B1-20)/50),0) (2) C2セル =(B1-20)=0.7 (3) C3セル =ROUNDDOWN((A1*ROUND((B1-20),1)/50),0)
行 __A___ ___B___ __C__ 1 454500 20.700 6362 2 FALSE 3 6363
※ 私ならまだ、小数になっていることに不安があり、10倍してピュアな「7」を取得してから計算します。 いずれにしても、小数点が絡む計算で、大小を判定する時は、注意が必要です。
(半平太)
参考URLです。(xxx)
◆“達人”芳坂和行氏に学ぶ、エクセル(Excel)「演算誤差」対策講座 http://pc.nikkeibp.co.jp/pc21/special/gosa/
計算式が合っているからと言っても
少数点以下は気を付けないといけないんですね。
これからも宜しくお願い致します。
ありがとうございました。
(桐)
ROUNDDOWNの少数誤差対策 =ROUNDDOWN(A13*(B13-20)/50+0.01,0) ^^^^^ ROUNDupは+0.01 が−0.01で (sss)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.