Home » Access(アクセス)の使い方 » 小数点以下を切り上げるには−IIf関数・Int関数

小数点以下を切り上げるには−IIf関数・Int関数

対象:Access97,Access2000,Access2002,Access2003,Access2007

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_切り上げ_不等号で判定」クエリが、不等号を使って小数点以下を切り上げしている例です。

関連語句
小数点以下の数値を切り上げ処理する関数, 端数繰り上げ, 端数くりあげ

[スポンサードリンク]

Home » Access(アクセス)の使い方 » 小数点以下を切り上げるには−IIf関数・Int関数

「Access(アクセス)の使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.