エクセルで任意の数値に丸める

その道の人しか使わないマニアックな情報ですが、一般に、河川の計画高水流量は小数点以下などの細かい値を表示しません。その丸め方については、適宜判断する必要があります。

○流量及び対象単位
  100m3/s未満 →   5m3/s丸め
  500m3/s未満 →  10m3/s丸め
 1000m3/s未満 →  50m3/s丸め
 1000m3/s以上 → 100m3/s丸め

上記ルールによると、単純な四捨五入ではなく任意の値で切り上げる必要があり、いちいち目で見て手計算を行うのは面倒なので、自動計算したいところです。

そこで、Excelを使って任意の丸め方で切り上げる方法としてceiling関数を紹介します。
なぜか、google等で検索しても、切り上げRoundup・切り下げRounddown・四捨五入Roundを駆使する面倒な方法ばかりが検索結果に出てくるため、誰かのお役に立つもしれませんので。

=IF(対象値>=1000,ROUNDUP(対象値,-2),IF(対象値>=500,ROUNDDOWN(対象値*2-0.001,-2)/2+50,IF(対象値>=100,ROUNDUP(対象値,-1),ROUNDDOWN(対象値*2,-1)/2+5)))

=IF(対象値>=1000,ceiling(対象値,100),IF(対象値>=500,ceiling(対象値,50),IF(対象値>=100,ceiling(対象値,10),ceiling(対象値,5))))

どちらの式で計算しても結果は同じですが、より式の意味が分かりやすいのはceilingを使った方だと思います。

関連しているかもしれない記事:


コメントを残す

メールアドレスが公開されることはありません。