- ベストアンサー
エクセルで3捨4入
企業の賃金表の計算をエクセルで行っているのですが、4捨5入ではなく、3捨4入をしたいのですが、どうしたらいいでしょうか? 関数を探したらないようなのですが、何か良い方法はないでしょうか? 教えてください。お願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
3捨4入する数をaとすると、 小数点以下を3捨4入する場合の式は、 =round(a+0.1,0) つまり、0.1を足して四捨五入です。 1の位なら、「=round(a+1,-1)」 10の位なら、「=round(a+10,-2)」 小数点以下2桁目なら、「=round(a+0.01,1)」 小数点以下3桁目なら、「=round(a+0.001,2)」 ただし、aが負の数になる場合はこれではうまくいきませんので、if関数で場合分けをする必要があると思います。
その他の回答 (4)
- hashiro
- ベストアンサー率41% (13/31)
ROUND関数を使ってみたらどうでしょうか 小数点以下を3捨4入するとします 計算結果を出したいセルにROUND(##+0.1,0.1)と入れ、 ##には賃金表の計算式または参照するセルを入れます。 やってみてください。
どの位で“3捨4入”されたいのかが分からないので、 とりあえず小数点以下で3捨4入するとします。 その場合、元の数字をaとすると『 =int(a+0.6) 』で 求められるのではないでしょうか? 他の位で3捨4入する場合も、ちょっと手を加えれば 簡単に出来ます。 ・1の位だと『 =int(a/ 10+0.6)* 10 』 ・10の位だと『 =int(a/100+0.6)*100 』 といった感じです。int関数は“その数を越えない最大の整数”を 返しますので、3捨4入を行いたい位がいったん小数点第一位に 来るように割ってやり、int関数を使った後に元の位に戻るように 掛けてやるわけです。 小数点第二位以下で3捨4入を行う場合は、逆に最初に積算を 行い、int関数を使った後に除算してやればOKです。 # 昔は、直接四捨五入できるような関数がなくて、こういう 方法で四捨五入も行っていたような気がします……。
- y45u
- ベストアンサー率27% (140/516)
私がそういうものを式にする場合は、3捨4入の場合、 (値+0.6)を小数点以下切り捨てってやってます。
- tshimada
- ベストアンサー率33% (4/12)
小数点以下を3捨4入したいということですよね? それならば3捨4入したい数値を10倍し、10倍した数を10で割ったあまりが4以上ならもとの数に+1し切り捨て、4未満ならそのまま切捨てで出来ると思うのですが。 ちなみの余りを求めるには、MOD演算子を使用します。 100を10で割ったあまりなら、 a = 100 mod 10 これで、aに0が入ります。