[[20110613130218]] 『小数点第3位を切り捨てする方法』(Yuka) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『小数点第3位を切り捨てする方法』(Yuka)
エクセル初心者です。
 例えば、
    A   B   C     D
 1 249200   60   0.6

このD1に計算式 A1÷B1×C1 をいれ計算させると結果は
2492となります。(本当は 2491.999・・・・となるはず)

 このD1の値を2491.99と表示させるにはどのようにすればいいのか教えてください。

単純に、セルの書式設定で小数点以下の桁数を2に設定しても2492.00となるだけですし

 =ROUNDDOWN(A1/B1*C1,2)と関数を使っても2492.00となり、繰上げ表示になってしまいます。
計算結果が2491.99となる計算式をどなたか教えてください。

Excel2000
win XP


 2492.00であっているのでは?
249200/60*0.6 = 249200*(1/60*0.6) = 249200*0.01 = 2492
 
あえてそのようにする必要があるのなら、計算上の有効桁数を
小数点以下2桁、と規定して、下記のようにするとか。
=ROUNDDOWN(ROUNDDOWN((A1/B1),2)*C1,2)
 
(みやほりん)(-_∂)b

早速、回答ありがとうございます。
電卓で計算すると2491.99999・・・となるのに
 エクセルですと2492.00になってしまいます。
 
 みやほりん さんの方法でやってみます。
 ありがとうございました。

 =ROUNDDOWN(ROUNDDOWN((A1/B1),2)*C1,2)が「正しい計算をしている」
とは言い切れませんので御注意を。
電卓は有効桁数があるので、途中で結果計算が行われると
そのようになるかもしれません。有効桁数15桁の計算機だと、
 
249200/60 =4153.33333333333
4153.333333333333*0.6 = 2491.9999999999998
 
と計算されますが、計算の順番を変えると、
249200*0.6 = 149520
149520/60 = 2492 という結果が返ります。
算数上はこちらが正しい計算です。
 
電卓と同じ結果がほしいなら、計算過程とそのときの有効桁数を
電卓に合わせた計算を行わなければなりませんが、それが正しいとは
限りません。
A1÷B1×C1 が計算ルールなら、上記例では計算論理的には2492が
正しい結果です。
(みやほりん)(-_∂)b

 少数演算誤差ではなく数学的な問題ですよね。
http://ja.wikipedia.org/wiki/0.999...
 ここを見ると理解できると思います。
 (momo)

みやほりん さん momoさん 詳しい回答ありがとうございました。
わたしは、電卓の解答が正しいとばかり思っていましたので。
 いい勉強になりました。 ありがとうございました。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.