- ベストアンサー
500円未満切捨てとなる関数はありますか?
6390円は6000円、4807円は4500円、のように、500円未満を切り捨てる関数はありますでしょうか。 過去のQAを探してみてもわからなかったので、質問させていただきました。よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
使っているアプリケーションソフトが書かれていないけど、Excelでしょうか? ExcelならFLOOR関数を使えばよいとお思います。 A1に切り捨てたい数値があるなら =FLOOR(A1,500)
その他の回答 (5)
- 麻野 なぎ(@AsanoNagi)
- ベストアンサー率45% (763/1670)
No.2 です。 乗除算による誤差について。 そうですね、今回のケースでは、誤差は「発生しません」 一般に、計算の誤差については ・割り算をすると誤差が発生する(割り切れない場合) ・かけ算をすると誤差が拡大される(元の数値に誤差がある場合かつ、1より大きい数字を掛ける場合) ・誤差のある数値を足しあわせると誤差が拡大する ・誤差のある数値を引き算すると、誤差が拡大する(2つの数値が近い場合) というのがあります。 今回のケースでは、 500で割る → 整数化する → 500を掛ける という流れなので、整数化した時点で誤差は解消されます。 (もっとも、整数÷整数の場合、答えの整数部分までは誤差を含まないのですが) 割り算とかけ算の併用で一番わかりやすいのは 100÷3=33.3333 33.3333×3=99.9999 整数化して、99 というケースですが、これは、割った(誤差の発生)あとにかけ算(誤差の増幅)しているのが原因です。 100÷3=33.3333 整数化して、33 33×3=99 これは、3刻みの切り捨てが、誤差無しで計算されていることを示しています。
お礼
詳細な解説ありがとうございました!
- chie65536
- ベストアンサー率41% (2512/6032)
ANo.3のようにFLOOR関数を使うか、500で割った余りを元の数から引いて下さい。 =A1-MOD(A1,500) なお、他の回答のように「500で割って、小数点を切り捨てて、500倍」は、除算と乗算の誤差により正確に求められない危険性を孕みます。
お礼
ありがとうございました。
LOTUS1-2-3使いです。 数値がA1のセルに入っているとして @INT((A1+500)/500)*500-500 1.元の数値に500を加えて500で割り 2.その数値の小数部分を切り捨て 3.500倍して500を引きます 元の数値が3541,3451の場合、 1. 8.082 7.902 2. 8 7 3. 3500 3000 となるわけです。
お礼
ありがとうございました!考え方によっていろいろな数式ができるのですね。
- 麻野 なぎ(@AsanoNagi)
- ベストアンサー率45% (763/1670)
一般的な方法としては、 ・500 で割る ・整数化する(小数点以下切り捨て) ・500 を掛けて元に戻す という手順です。 Excel なら、 =(int(A1 / 500)*500) とか
お礼
ありがとうございました。
- ryuujiok2205
- ベストアンサー率21% (233/1098)
1円未満切り捨てはできますか? それに500かけてください。
お礼
ありがとうございました。この方法でもできるのですね。
お礼
ありがとうございました。解決しました。