Accessで四捨五入をする方法、小数点以下の切り捨てをする方法をご紹介してきました。
同様に
「Accessで小数点以下を切り上げするにはどうしたらいいのでしょう?」
というご質問をいただくこともあります。
Excelには切り上げをするためのROUNDUP関数が用意されていますが、Accessには切り上げ専用の関数は用意されていません。
Accessでは、整数部分のみを取得するInt関数と、条件に応じて処理を切り替えるためにIIf関数を使って切り上げをすることができます。
([元の数値]フィールドから、[切り上げ]フィールドを作成する例) クエリをデザインビューで開く
↓
フィールド欄に、
「切り上げ: IIf(Int([元の数値])=[元の数値],[元の数値],Int([元の数値]+1))」
と記述する
▼サンプルファイル(002833.mdb 224KByte Access 2000形式)ダウンロード
サンプルファイルの、「Q_切り上げ_等号で判定」クエリが上記と同じ例です。
主たる処理は、
「Int([元の数値]+1)」
の部分です。
元の数値からInt関数で整数部分のみを取得し、1を加算することでいわゆる「切り上げ」と同じ結果になるわけです。
ただ、このままだとどんなときにも1を加算する処理が行われてしまい、例えば「1.0」を切り上げしても「2」になってしまいます。
これを回避するために、IIf関数で切り分けています。
元の数値と、Int関数で処理したあとの値が等しければ、小数部分が0なので、1を加算する必要がなく、元の数値そのままで問題ありません。
このことを意味しているのが
「IIf(Int([元の数値])=[元の数値],[元の数値],」
の部分です。
上記の例では等号を使って条件判断をしていますが、下記のように不等号を使って条件判断を行い、IIf関数の第2引数と第3引数を等号を使ったときと逆に指定しても、勿論同じことです。
「切り上げ: IIf(Int([元の数値])<>[元の数値],Int([元の数値]+1),[元の数値])」
サンプルファイルの、「Q_切り上げ_不等号で判定」クエリが、不等号を使って小数点以下を切り上げしている例です。
- Newer:×ピボッドテーブル、○ピボットテーブル
- Older:Excel 2007の条件付き書式コマンドリスト
Home » Access(アクセス)の使い方 » 小数点以下を切り上げるには−IIf関数・Int関数