職場で
「0.50は0に、0.51は1にする関数は?」
と聞かれました。
round関数っぽいですが四捨五入ではないですし。。
悩んだ結果、「0.49を足して小数点以下を切り捨てる」という手法を取る事にしました。
そうすると
8.50+0.49=8.99 → 8
8.51+0.49=9.00 → 9
(結果は整数表示)
と求める結果が得られました。
式でいうと
=INT(参照するセル+0.49)
という感じです。
しかしこの場合、少数第3位の扱いがどうなっているのかというと
8.509+0.490=8.999 → 8
8.510+0.490=9.000 → 9
となります。
0.51切り上げ、0.50切捨てと言われたのですが、先程の式ですと0.50〜0.51の間は切捨てになっていて実際は
「0.51以上切り上げ、0.50未満切捨て」
という表現が正しかったかと思います。
ただし依頼者からは
「少数第3位は使わないのでintを用いた式で十分だった」
という回答がありました。
今回は少数第3位が関係なく、小数点以下を切り上げ、切捨て、すればよかったのでこの手法で大丈夫でしたが、対象となる桁が今回のケースと異なる場合などはroundup、rounddown関数の使用や、0.01を足してround関数を用いる、などの対応も必要になってくるかもしれません。
2009年06月19日
四捨五入?(0.50と0.51で切り上げ、切捨て)
posted by ショートカットキー at 03:57| EXCEL(エクセル)