ついに夏本番!さぁ、家族でキャンプに行くぞ! >>

エクセルで下記の関数を使用した場合、計算結果が切捨てされません。このような場合に切捨てをする場合はどのようにするのでしょうか。


ROUNDDOWN(A1*A2/A3,-3)
A1は1581000 A2は1365000 A3は1785000

計算結果は1209000になります。
実際の計算結果は1208999.99999…
計算結果を1208000にしたいのですが。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

> 計算結果は1209000になります。


> 実際の計算結果は1208999.99999

これは浮動小数点数の演算誤差で、正しい計算結果は1209000です。

> 計算結果を1208000にしたい

1209000 は切り捨てても1208000になりようがありません。
    • good
    • 1
この回答へのお礼

ありがとうございます。

電卓やエクセルを使用しだすと、正しい計算の答えも分からなくなり、困ったものです。

お礼日時:2003/10/23 22:30

158100/1785000=0.8857142857142857142857142・・・・・・・・・・・・・


  0.8の後に857142の循環小数が続きますね
これに、136500を掛けると、1208999.999999・・・・・・・・・
表計ソフト(エクセル)は少数第14位で四捨五入しますので

どうしても1208000にしたいのなら
C1=ROUNDDOWN(A1/A3,4)
ROUNDDOWN(C1*A2,-3)
とか、工夫するしかない!

この回答への補足

tanakacchiさん、maruru01さん、Ribenrenさん、poosannさん、dejiji-さん、nabeyannさん

ありがとうございます。

最近は、電卓やエクセルしか使わず、手計算することが無いので、このような現象が起こることが、初めて知りました。今回は、皆さんに回答をいただき、とても勉強になりました。

締め切りは、すみませんが、少しお待ちいただけますか。

締め切り時に、お礼の欄を使用させていただきます。

補足日時:2003/10/22 17:47
    • good
    • 0
この回答へのお礼

ありがとうございます。

電卓やエクセルを使用しだすと、正しい計算の答えも分からなくなり、困ったものです。

お礼日時:2003/10/23 22:31

>実際の計算結果は1208999.99999…


これは、計算機の計算結果ですよね。
>計算結果は1209000になります。
これが、エクセルでの計算結果ですよね。
もし、こうであれば可能性は有りますね。これ、計算機の桁数が10桁で、1365000/1785000*1581000の順で計算を行うと計算結果は割り切れない数値になります。
1365000/1785000=0.764705882
0.764705882*1581000=1208999.999
計算の順番を変えると、計算結果が1209000となる筈です。計算機側の計算誤差であって、エクセルの演算誤差ではなく、正の計算結果が1209000であるため、rounddownによる切捨てを行っても1208000には成り得ないでしょう。
エクセルで思い当たることは全て確認したつもりですが、計算結果は全て、1209000でした。
    • good
    • 0
この回答へのお礼

ありがとうございます。

電卓やエクセルを使用しだすと、正しい計算の答えも分からなくなり、困ったものです。

お礼日時:2003/10/23 22:31

何回やっても1209000にしかならないので、おかしいな~って思って、計算機まで出してきて計算しました。


なので、間違ってないと思います。

これって、割り切れます。
だから最初に書いてある1208999.99999がそもそもおかしいと....

なので切り捨ての件でいけば、ROUNDDOWN(A1*A2/A3,-3)で合ってます。ためしに=ROUNDDOWN(1208999.9999999,-3)でやってみてください、答えは1208000になります。

ちなみに、INTは整数で丸めるので、=INT1208999.9999999)の計算結果は1208999になります。

なので、今回の計算結果では何回やっても、関数を変えても1209000にしかならないと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。

電卓やエクセルを使用しだすと、正しい計算の答えも分からなくなり、困ったものです。

お礼日時:2003/10/23 22:30

こんにちは。

maruru01です。

そもそも、

=A1*A2/A3

の結果は、1209000であって、1208999.99999・・・ではありません。
INT関数を使用しても、TRUNC関数を使用しても結果は同じです。
    • good
    • 0
この回答へのお礼

ありがとうございます。

電卓やエクセルを使用しだすと、正しい計算の答えも分からなくなり、困ったものです。

お礼日時:2003/10/23 22:29

Accessでしか使ったことがないのですが


Int関数でどうでしょうか?

「=INT(8.9) 8.9 を切り捨てて整数にします (8)」
詳しくはヘルプを参照してください。

この回答への補足

今回の場合は、INT関数をどのように利用すればよいのでしょうか。

ヘルプや本を読んでも、理解できません。

補足日時:2003/10/22 09:46
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QROUNDDOWNでも切り捨てられない?

2,000,000/2/12*6を電卓で順番に計算すると499,999.999・・・になります。
そこで小数点を切り捨てるため
=ROUNDDOWN(2,000,000/2/12*6,3)
としたのですが、500,000.000・・・になってしまいます。
499,999.999・・・にするにはどうしたらよいのでしょうか。
もしくは何か誤りがありますでしょうか。

6/2/12*2,000,000と順番を変えると確かに割り切れますので、
順番どおりに計算してくれるかと思い、無理やり
=ROUNDDOWN(ROUNDDOWN(ROUNDDOWN(2,000,000/2,3)/12,3)*6,3)
としてみましたが、やはり500,000.000・・・になってしまいます。

Aベストアンサー

=ROUNDDOWN(2000000/2/12,3)*6
ではいかがでしょう?


人気Q&Aランキング