• 締切済み

エクセルで小数点第2位以下を切り捨てないで5捨6入

こんにちは。エクセルで小数点第1位を5捨6入をしたいのでご教示ください。 通常でしたら、ROUND(A1-0.1,0)等とすれば良いのですが、今回は、0.50001のようなものについても5捨6入として1へ切り上げたいのです。(正しくは5捨6入とは言わないかもしれません)つまり、0.5を少しでも上回る数は1へ切り上げ、0.5より小さい値は切り捨てをしたいのです。 お手数でございますが、このような“切り上げ”“切り捨て”の方法についてご教示いただければ幸いです。

みんなの回答

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.5

ROUND(A1-0.00001,0)ではいけないのですか。もっと下まで考えるのなら0.00001の桁数を増やせばいいのでは。

  • moon_myu
  • ベストアンサー率33% (39/118)
回答No.4

2で回答したものです。ごめんなさい。関数を間違えていました。 =IF(MOD(A1,1)<=0.5,ROUND(A1-0.1,0),ROUND(A1-0.1,0)+1) でした。 A1が整数でしたら、MOD(A1,0)はA1です。

回答No.3

いい関数を考えつかなくて、単純に0.5より大きければ切り上げ、そうでなければ切り捨てにしてみました。 =IF(MOD(A1,1)>0.5,ROUNDUP(A1,0),ROUNDDOWN(A1,0))

suzukiv100
質問者

お礼

ありがとうございます。明快で良くわかりました。

  • moon_myu
  • ベストアンサー率33% (39/118)
回答No.2

多分、他に良い方法があると思うのですが 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)
回答No.1

=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です。

suzukiv100
質問者

お礼

早速にありがとうございます。 >「0.500000・・・」については言及されてませんが、こ> れも繰り上げるものとしますと、 こちらですが、0.5000…については切り下げをしたいのです。 お手数ですが、ご教示いただければ幸いです。

関連するQ&A