• ベストアンサー

ExcelでROUNDUP関数

ROUNDUP関数について教えてください。 小数点第2位を切上げしたいのですが、下記の法則の時だけ結果が違ってきます。 例)50.901のように小数点第2が'0'で小数点第3位以降に数字がある場合  この場合、50.9になってほしいのですが、51.0になってしまう。  50.9 ⇒ROUNDUP関数を使うと 50.9  50.901⇒ROUNDUP関数を使うと 51.0 これはなぜでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

roundup(x,y)関数は「小数点以下がy桁になるように切り上げる」の で、そういう動作をします。 あなたがやりたいのは、「小数点以下y+1桁以降を無視してy桁の数 値を切り上げる」なので、 =roundup(rounddown(x,y),y) とします。

noname#208236
質問者

お礼

ありがとうございます。 やりたいことは「grumpy_the_dwarf」のおっしゃるとおりです。 この方法で試してみたいと思います。

その他の回答 (4)

  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.5

数学的に言って、2位で切り上げですから、2位が0で3位以降に0以外の数が有れば1位に切り上がります。ですから、1位が9ならさらに整数部分に切り上がります。 つまり50.901>50.9なわけですから50.901を切り上げて出来た数が50.901より大きくないと切り上げた意味がないです。 切り上げているのに、実際の数(切り上げる前の数)より小さいのはおかしいですから。四捨五入なら別ですが。

  • cooci
  • ベストアンサー率29% (1394/4779)
回答No.4

計算結果は合ってます。 あなたが切り上げという言葉意味の認識が間違っているだけです。 小数点第2位で切り上げるということは小数点第2位の数字だけを見ればよいという意味ではなく第2位以下すべてを見る必要があります。 そもそも、切り上げというのは元の値から減ることは絶対にないです。

noname#208236
質問者

お礼

おっしゃるとおり! 切り上げの意味合いを理解していませんでした。 ありがとうございました。

noname#14493
noname#14493
回答No.2

 50.901の後ろ二桁の「01」が切り上がって、51.0になったのだと思います。

noname#22222
noname#22222
回答No.1

=ROUNDUP(50.901,2) =ROUNDUP(50.901,1) どちらの式を組んでおられますか?

noname#208236
質問者

お礼

=ROUNDUP(50.901,1)です。

関連するQ&A