- ベストアンサー
エクセルで負の値の四捨五入方法
- エクセルのバージョン2002で、負の値を円単位に修正し、円未満を四捨五入したい場合にはどのようにすればよいでしょうか?現在のセルの値は正の値と負の値の両方が考えられますが、ROUND関数やROUNDDOWN関数を使用する方法ではうまくいかず困っています。
- 実際には、J404セルには「-4533.5695」という値や「-830.521700000002」という値があります。現在、以下の式を試していますが、うまくいっていません:「=IF(J404>0,ROUND(J404*1000,0),ROUND(J404*-1000,0)*-1)」。ROUNDDOWN関数を組み込んでもうまくいきません。
- 負の値をうまく四捨五入するための式が知りたいです。エクセルのバージョンは2002です。ご教授いただけると幸いです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! 横からお邪魔します。 No.1さんの補足に >-0.5を0にしたいです・・・ とありますので、考え方としては参照先データが負の場合は、 小数点以下第1位を5捨6入としてみてはどうでしょうか? 数式としては =IF(A2<0,ROUND(J404*1000+0.1,0),ROUND(J404*1000,0)) といった感じでは希望通りにならないでしょうか?m(_ _)m
その他の回答 (4)
- KURUMITO
- ベストアンサー率42% (1835/4283)
J404のセルに負数の時は-4533.5695の数値が入力されるのでしたら次のような式ではどうでしょう。 =IF(A1>=0,ROUND(A1*1000,0),ROUND(A1*1000+0.5,0))
お礼
ありがとうございます 式を導入しましたが、-830.521700000002のほうがうまくいきませんでした。
- ok-kaneto
- ベストアンサー率39% (1798/4531)
>絶対値で四捨五入するのではなく、マイナスを考慮できる式が知りたいです えっと、マイナスはround関数も考慮してますよ? 大体、負の値の四捨五入自体がかっちりとした定義がない状態です。 なので、大体は業務の仕様にエクセルを無理やり合わせるか、エクセルの仕様に業務を合わせるかになります。 >-0.5を0にしたいです。 >ROUNDDOWNだと-0.9が0になってしまうんです・・・ 境目はどこ?-0.5を0にするんなら、-0.9だって0になりますよ? 五捨六入って事? =INT(A1+0.5) とかではどうですか? -0.1→0 -0.2→0 -0.3→0 -0.4→0 -0.5→-1 -0.6→-1 -0.7→-1 -0.8→-1 -0.9→-1 -1.0→-1 だと思ったけど違うのかな?
お礼
五捨六入って言葉が出てこなかったです・・・。 =INT(A1+0.5)もあとで試してみます! ありがとうございました
- m0r1_2006
- ベストアンサー率36% (169/464)
「負の数の丸め方」の希望するやり方が書いていないので 何とも言えないが,絶対値取って丸めて符号付けるで良いのか? 「-4533.5695」や「-830.521700000002」をどうしたいのかが無いと関数書けない. =IF(J404>0,ROUND(J404*1000,0),-ROUND(-J404*1000,0)) とかでどうですか? ふつうは,round そのままがまともな気がするが??
お礼
ありがとうございます。 式を試してみましたが、うまくいきませんでした。 要は、-0.5や-0.1は0、-0.9は-1、というふうにしたいです
- ok-kaneto
- ベストアンサー率39% (1798/4531)
round関数は負の値を扱うこともできますよ。この処理では正しくないって事ですか? 例えば、-0.5は-1になるのか0になるのか。 round関数では-1になります。 どのようにしたいかを書いてもらえれば、それにあった計算式を導き出せます。
お礼
ありがとうございます -0.5を0にしたいです。 絶対値で四捨五入するのではなく、マイナスを考慮できる式が知りたいです ROUNDDOWNだと-0.9が0になってしまうんです・・・
お礼
ありがとうございます! 試してみたところ、バッチリでした。