• 締切済み

エクセルでは(0.14*100-15)は「1」でないのは何故?

セルにと入力すれば「-1」と返してくれますよね。 で、rounddown(-1,0) は「-1」となるのですが rounddown(0.14*100-15,0)は「0」となります。 何故だろう?と思い試しに「0.14*100-15」コピーし 「形式を選択」→「値」で別のセルに貼りつけたら「-1」と見えますが数式ボックスの値は「-0.9999999998」となっています。 原因は分かったのですがrounddown(0.14*100-15,0)を本来の値通り 「-1」とすることは出来ないのでしょうか。 つまりちゃんと「0.14*100-15」を「-1」と計算してくれるように できないでしょうか。 (ちなみに「0.16*100-15」は「1」となります) よろしくお願いします。

みんなの回答

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.2

ご提示の数式を次のように変更すれば、-1 となりますが、如何でしょう? (前後の数値は未確認です。) =ROUNDDOWN(ROUND(0.14*100,0)-15,0)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 外しているかもしれませんが・・・ 数式の ROUNDDOWN(0.14*100-15,0) は小数点以下を切り捨て、整数表示にするという意味ですので 結果として、0になってしまうと思います。 どうしてもRAUNDDOWNを使って「-1」と表示させたい場合は ROUNDDOWN(0.14*100-15,1) としてみてはどうでしょうか? この場合は小数点第2位以下を切り捨て、小数点第1位表示にする という意味ですので、 もし、「-0.9」と表示される場合は「小数点表示桁下げ」で「-1」となるはずです。 以上、長々と書きましたが 参考になれば幸いです。 最初に書いたように的外れなら読み流してくださいね。m(__)m

usako1888
質問者

お礼

早速のご回答ありがとうございます。 ところで実際は「0.14」の部分はセルを参照させた値のため rounddown(B2*100-15,0)となっていて、これをコピーして 使いたいのです。 するとB2がC2、D2…となりそれぞれセルに入っている値は 0.14だったり0.16だったり…。 つまり上では値を特定させましたが B2に当たる部分の値がなんであろうと正しい答えを返して 欲しい、ということなのでした。 多くの場合を検証したのではありませんが 「X*100-15」の値が正であれば問題なさそうですが 負だと問題が生じるのかもしれません。 ※上記例では「0.l6」なら大丈夫でした。

関連するQ&A

専門家に質問してみよう