Accessには、小数点のある値を整数化するための方法がいくつかありますが、その中でもよく使われるのは次の2つの関数です。
- Fix関数
- Int関数
この2つの関数は、ともに整数の小数部分を切り捨てる関数ですが、負の数を処理したときの挙動が異なります。
この記事では、両者の違いと使いどころをわかりやすく解説します。
Fix関数とInt関数を比較する
相違点
まず違いを簡単に比較してみましょう。
| 項目 | Fix関数 | Int関数 |
|---|---|---|
| 基本動作 | 小数点以下を単純に切り捨てる | 小数点以下を切り捨てる |
| 正の数の場合 | Intと同じ | Fixと同じ |
| 負の数の場合 | 絶対値が小さくなる方向に丸める (-2.8 → -2) | 絶対値が大きくなる方向に丸める (-2.8 → -3) |
| 直感的な理解 | “見たまま切る” | “下に落とす” |
つまり、2つとも小数点以下を切り捨てるという点では同じ働きをしますが、対象の値が負の数の場合、丸め方が異なります。

「絶対値」というのは、マイナス/プラスを問わず、数が 0 からどれだけ離れているかを表す値です。
具体例
実際の数値について、2つの関数で処理した結果をみてみましょう。
| 元の値 | Fix関数 | Int関数 |
|---|---|---|
| 7.9 | 7 | 7 |
| 2.4 | 2 | 2 |
| 0.8 | 0 | 0 |
| -0.8 | 0 | -1 |
| -4.3 | -4 | -5 |
| -2.5 | -2 | -3 |
ご覧いただいた通り、正の数については Fix関数・Int関数のどちらも、小数点以下を単純に切り捨てます。
一方で、負の数に対する Int関数は、「絶対値に変換してから丸める」というように見える動きをします(例:-0.8 → 0.8)。そのうえで、小数点以下を切り捨てた結果が元の値よりも小さくなる方向、つまり絶対値が大きくなる方向へ丸めます(0.8 → 1)。
そのため、-0.8 を Int関数に渡すと結果は -1 になります。
構文
Fix関数
Fix(数値)
《引数》
| 引数 | 説明 |
|---|---|
| 数値 | 整数に丸めたい数値または式 |
単純な数値の他に、
- Int(10 / 3)
- Int(Rnd() * 100)
のように、式や関数を使ったパターンにも対応可能です。
Int関数
Int(数値)
《引数》
| 引数 | 説明 |
|---|---|
| 数値 | 整数に丸めたい数値または式 |
使い分けの基準
| 状況 | 選ぶべき関数 |
|---|---|
| 見た目通りの小数点部分を落としたい | Fix関数 |
| 数学的な丸めが必要(floor処理) | Int関数 |
数学におけるfloor(フロア)処理とは、「床関数(ゆかかんすう)」と呼ばれる関数の処理のことです。
floorは床という意味ですが、数字を必ず 下の段(床の方へ) におろすイメージとなります。
今回ご紹介したそれぞれの違いを認識したうえで、使い分けていきましょう。単純に小数を整数化するのであれば、実務向きな単純切り捨てを行うFix関数がおすすめです。
また、Accessには四捨五入を行うRound関数ありますので、そのあたりも使い分けの選択肢に入ってくると思われます。Round関数は別記事で解説予定です。
まとめ
Fix関数とInt関数の違いが出るのは負の数Fix関数は0方向に丸める(絶対値が小さくなる方向)Int関数はより小さい方向に丸める(絶対値が大きくなる方向)- 実務では
Fix関数がおすすめ

・Accessで業務用ツールを作ってみたいけど、なかなか時間がとれない。
・先輩が作った既存のツールを改修したいけど難しい…。
そのような場合には、私がみなさまの代わってカタチにいたします。ぜひ作成サービス
をご利用ください。



