ACCESSで四捨五入する方法

ACCESSで四捨五入する方法

ACCESSで数値を計算する際に、四捨五入をしたい場合は多いでしょう。
ExcelであればROUNDUPやROUNDDOWN関数を利用することが多いですが、ACCESSでは少し異なった処理が必要です。

今回は、ACCESSで四捨五入する方法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは基本機能だけでも十分便利ですが、VBAを使うことで格段に使いやすいデータベースを作成可能です。
この記事ではACCESSでのVBAの使い方をご紹介していきます。


ACCESSにはRoundUp、RoundDown関数がない

Excelの関数を使用している方であれば、四捨五入と聞けばRoundUp、RoundDown関数を思い浮かべるでしょう。
これらの関数を使用すれば簡単に四捨五入が可能です。

しかし、ACCESSにはこれらの関数がありません。

注意しなければいけないのはRound関数です。

こちらは一見すると四捨五入できるように思えるのですが、通常の四捨五入とは少し処理が異なりますので、そのまま使えないことがほとんどです。

例えば、以下のテーブルがあります。

この数値を、Round関数を使って変換してみましょう。

以下のクエリを作成しました。

先ほどのテーブルを基にして、「数値」フィールドを使って3列目に計算式を入れてあります。

Round: Round([数値])

では、結果を見てみましょう。

一見すると四捨五入できているように見えますが、ちょっと待ってください。

4.5を変換した部分に注目すると結果が「4」になっています。
一般的な四捨五入であれば「5」にならないといけないですよね。

では、小数点以下が5だと小さい方に丸めているのかというと、そうでもありません。
5.5はきちんと6になっていますね。

これはRound関数が、小数点以下の数値が5の場合、偶数になるように丸めるという性質を持っているためです。
これでは使えませんね。

このRound関数の性質は非常に気づきにくいので、通常処理で四捨五入をさせたい場合に間違ってRound関数を使用しないように注意してください。

Int関数

ACCESSでの四捨五入にはInt関数を利用します。
Int関数とは、数値の整数部分を返す関数です。

構文は以下の通り。

Int (Number)

Numberの部分に数値を入れるだけの簡単な関数です。

例えば、Int (99.5) とすれば戻りの値は99です。

関数戻り値
Int (99.1)99
Int (99.5)99

要は小数点以下の切り捨ての関数ですね。

これと似た関数にFix関数があります。

Fix関数も小数点以下を切り捨てる関数ですが、Int関数との違いは負の数の場合の処理です。

関数戻り値
Int (-99.5)-100
Int (-99.5)-99

Int関数では絶対値が大きくなる値(負の数としては小さい値)を返すのに対して、Fix関数は絶対値が小さくなる値(負の数としては大きな値)を返します。

ACCESSで四捨五入する方法

それではいよいよ、ACCESSで四捨五入する方法をご説明しましょう。

先ほどと同じようにデザインビューでクエリを作成します。

今回は3列目にInt関数を使って以下のように記述しました。

Int: Int ( [数値] + 0.5 )

Int関数は整数部分のみに切り捨てする関数ですので、その前に0.5を足すことで結果的に四捨五入となるようにしています。

それでは結果を見てみましょう。

今度はちゃんと四捨五入ができていますね。

このように、ACCESSで四捨五入をする際はInt関数を使用し、数値に0.5を足す方法が最も使いやすいです。

以上、ACCESSで四捨五入する方法についてご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。