- 締切済み
エクセルで小数点第2位以下を切り捨てないで5捨6入
こんにちは。エクセルで小数点第1位を5捨6入をしたいのでご教示ください。 通常でしたら、ROUND(A1-0.1,0)等とすれば良いのですが、今回は、0.50001のようなものについても5捨6入として1へ切り上げたいのです。(正しくは5捨6入とは言わないかもしれません)つまり、0.5を少しでも上回る数は1へ切り上げ、0.5より小さい値は切り捨てをしたいのです。 お手数でございますが、このような“切り上げ”“切り捨て”の方法についてご教示いただければ幸いです。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- ymmasayan
- ベストアンサー率30% (2593/8599)
ROUND(A1-0.00001,0)ではいけないのですか。もっと下まで考えるのなら0.00001の桁数を増やせばいいのでは。
- moon_myu
- ベストアンサー率33% (39/118)
2で回答したものです。ごめんなさい。関数を間違えていました。 =IF(MOD(A1,1)<=0.5,ROUND(A1-0.1,0),ROUND(A1-0.1,0)+1) でした。 A1が整数でしたら、MOD(A1,0)はA1です。
- taisuke555
- ベストアンサー率55% (132/236)
いい関数を考えつかなくて、単純に0.5より大きければ切り上げ、そうでなければ切り捨てにしてみました。 =IF(MOD(A1,1)>0.5,ROUNDUP(A1,0),ROUNDDOWN(A1,0))
- moon_myu
- ベストアンサー率33% (39/118)
多分、他に良い方法があると思うのですが A1のセルに数値が入っているものとしますね。 =IF(MOD(A1,1)-0.5<0,ROUND(A1-0.1,0),ROUND(A1-0.1,0)+1) という関数はどうでしょうか? 整数値が0と決まっているのであれば、 MOD(A1,1)はA1になりますが・・・
- Hageoyadi
- ベストアンサー率40% (3145/7860)
=ROUND(A1-0.1,0)はA1の値から0.1を引いた数値を1の位で四捨五入するものですね。 >小数点第1位 >5捨6入 これは勘違いかと思われますので、 >0.50001のようなものについても1へ切り上げたいのです。 >0.5を少しでも上回る数は1へ切り上げ、0.5より小さい値は切り捨てをしたいのです。 についてのみ。 「0.500000・・・」については言及されてませんが、これも繰り上げるものとしますと、 =ROUND(A1,0) でOKです。
お礼
早速にありがとうございます。 >「0.500000・・・」については言及されてませんが、こ> れも繰り上げるものとしますと、 こちらですが、0.5000…については切り下げをしたいのです。 お手数ですが、ご教示いただければ幸いです。
お礼
ありがとうございます。明快で良くわかりました。