エクセルで任意の数値に丸める
その道の人しか使わないマニアックな情報ですが、一般に、河川の計画高水流量は小数点以下などの細かい値を表示しません。その丸め方については、適宜判断する必要があります。
○流量及び対象単位
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を使った方だと思います。