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

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

    ○流量及び対象単位
      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を使った方だと思います。

    コメントを残す