VBAで数値を扱っていると、次のようなことはありませんか?
- 小数点以下を切り捨てたい
- 整数だけ取得したい
- Fix関数との違いが分からない
このような場合は、Int関数を使うことで解決できます。
小数点以下を切り捨てて整数にする、基本かつ重要な関数です。
この記事では、Int関数の基本から実務での使い方、Fixとの違いまで分かりやすく解説します。
この記事でできること
- Int関数の基本が分かる
- 小数点以下の切り捨てができる
- Fix関数との違いが分かる
- 実務での活用方法が分かる
基本:Int関数の使い方
基本構文はこちらです。
Int(数値)
例:
MsgBox Int(3.9)
→ 3
Int関数の特徴
- 小数点以下を切り捨てる
- 負の方向へ切り捨てる(重要)
正の数の例
Int(3.9) ' → 3
Int(10.7) ' → 10
負の数の例(重要ポイント)
Int(-3.9) ' → -4
0方向ではなく、より小さい値(負の方向)に切り捨てられます。
Fix関数との違い
| 関数 | 動作 |
|---|---|
| Int | 負の方向へ切り捨て |
| Fix | 0方向へ切り捨て |
比較例
Int(-3.9) ' → -4
Fix(-3.9) ' → -3
この違いは非常に重要です。
セルに結果を書き込む
Range("A1").Value = Int(12.8)
変数を使った例
Dim num As Double
Dim result As Long
num = 25.6
result = Int(num)
MsgBox result
ランダム整数の生成(よく使う)
Rndと組み合わせるとランダムな整数を作れます。
Dim num As Long
Randomize
num = Int(Rnd * 10) + 1
MsgBox num
→ 1〜10のランダム数
指定範囲の整数を作るテンプレ
最小値 + Int(Rnd * (最大値 - 最小値 + 1))
実務でよくある使い方
- 小数点切り捨て処理
- 件数計算(端数切り捨て)
- ランダム数生成
- データ整形
特にランダム処理では必須です。
Roundとの違い
| 関数 | 動作 |
|---|---|
| Int | 切り捨て |
| Round | 四捨五入 |
注意点
① 負の数で結果が変わる
Fixとの違いを理解して使い分けてください。
② 小数点は完全に削除される
丸めではなく切り捨てです。
よくあるエラーと対処法
① 思った結果にならない
負の数の扱いを確認してください。
② 型が一致しません
数値型になっているか確認してください。
③ コードは正しいのにエラーになる
コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。
まとめ
- Intは小数点以下を切り捨てる関数
- 負の方向へ切り捨てるのが特徴
- Fixとの違いを理解することが重要
- ランダム処理や数値整形で活躍
Int関数を使いこなせるようになると、数値処理の幅が大きく広がります。
特にランダム処理や計算処理では頻出なので、ぜひ活用してみてください。


コメント