Microsoft Access 掲示板

10の位での切り捨て

3 コメント
views
4 フォロー

度々、よろしくお願いいたします。
数値を10の位で切り上げしたいのですが。

例えば。
530→530
539→540
531→540
530.001→540
にしたいのですが、いろいろ考えてみたところ、IIF関数を使わないといけなさそうです。
IIF([数値]=INT([数値],[数値],INT(([数値]+10)/10)*10)

IIFを使わず、スマートに式を作ることはできますか?

あん
作成: 2023/04/13 (木) 10:51:12
最終更新: 2023/04/13 (木) 11:40:25
通報 ...
1
あん 2023/04/13 (木) 11:49:10 927ea@d09bd

すみません。
自作関数を作成してスマートにしました。
ありがとうございました。

2

数値の変換例をみると、切り捨てではなくて、切り上げですね。

下記でどうでしょうか。

-Int(-[数値]/10)*10

ただし、上記だと負数の場合、
-531→-530
と正方向へ丸められますので、一般的な切り上げの仕様の
-531→-540
としたいなら、

-Int(-Abs([数値])/10)*10*Sgn([数値])
3
あん 2023/04/13 (木) 12:50:14 927ea@d09bd

hatena様
ご回答ありがとうございます。

10の位の切り上げではなく、切り上げする桁数を指定して切り上げする式を、
hatena様のご提示いただいた式を基に作成させていただきました。

-INT(-([数値]/10^[桁数]))*10^[桁数]

負の数の切り上げは-531→-530で大丈夫です。

良い式が出来上がり、とてもよかったです。ありがとうございました。