- ベストアンサー
ExcelでROUNDUP関数
ROUNDUP関数について教えてください。 小数点第2位を切上げしたいのですが、下記の法則の時だけ結果が違ってきます。 例)50.901のように小数点第2が'0'で小数点第3位以降に数字がある場合 この場合、50.9になってほしいのですが、51.0になってしまう。 50.9 ⇒ROUNDUP関数を使うと 50.9 50.901⇒ROUNDUP関数を使うと 51.0 これはなぜでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
roundup(x,y)関数は「小数点以下がy桁になるように切り上げる」の で、そういう動作をします。 あなたがやりたいのは、「小数点以下y+1桁以降を無視してy桁の数 値を切り上げる」なので、 =roundup(rounddown(x,y),y) とします。
その他の回答 (4)
- Turbo415
- ベストアンサー率26% (2631/9774)
数学的に言って、2位で切り上げですから、2位が0で3位以降に0以外の数が有れば1位に切り上がります。ですから、1位が9ならさらに整数部分に切り上がります。 つまり50.901>50.9なわけですから50.901を切り上げて出来た数が50.901より大きくないと切り上げた意味がないです。 切り上げているのに、実際の数(切り上げる前の数)より小さいのはおかしいですから。四捨五入なら別ですが。
- cooci
- ベストアンサー率29% (1394/4779)
計算結果は合ってます。 あなたが切り上げという言葉意味の認識が間違っているだけです。 小数点第2位で切り上げるということは小数点第2位の数字だけを見ればよいという意味ではなく第2位以下すべてを見る必要があります。 そもそも、切り上げというのは元の値から減ることは絶対にないです。
お礼
おっしゃるとおり! 切り上げの意味合いを理解していませんでした。 ありがとうございました。
50.901の後ろ二桁の「01」が切り上がって、51.0になったのだと思います。
=ROUNDUP(50.901,2) =ROUNDUP(50.901,1) どちらの式を組んでおられますか?
お礼
=ROUNDUP(50.901,1)です。
お礼
ありがとうございます。 やりたいことは「grumpy_the_dwarf」のおっしゃるとおりです。 この方法で試してみたいと思います。