この記事ではInt関数の使い方と注意点について解説します。
他のよく使うVBA関数一覧はこちら。
Int関数の使い方と注意点
Int関数は、数値の小数点以下を、最も近い小さい方の整数に切り捨てて返す関数です。
構文
Int(数値)
- 数値 : 整数化したい数値
- 戻り値 : 小数点以下を切り捨てた最も近い小さい方の整数
使用例
Int関数は単純に少数点以下を削除する関数ではありません。
数値の小数点以下を、最も近い小さい方の整数に切り捨てて返す
という点に注意が必要です。
こちらの例では1.23
, 1.89
, -1.23
, -1.89
という数値に対してInt関数を使用しています。
Sub Sample()
Debug.Print "1.23 : " & Int(1.23)
Debug.Print "1.89 : " & Int(1.89)
Debug.Print "-1.23 : " & Int(-1.23)
Debug.Print "-1.89 : " & Int(-1.89)
End Sub
▶ 出力結果
1.23 : 1
1.89 : 1
-1.23 : -2
-1.89 : -2
1.23
, 1.89
に最も近い小さい方の整数の1
と
-1.23
, -1.89
に最も近い小さい方の整数の-2
が返ってきていることがわかります。
⚠️注意
単純に小数点以下を削除する関数ではない
使用例に示した通り、Int関数は数値の小数点以下を切り捨てて、最も近い小さい方の整数を返す
関数です。
正の数値に使用する場合は小数点以下を削除する関数という認識でも問題ありませんが、
負の数値に使用する場合は注意しましょう。
数値(半角または全角)以外はエラーになる
Int関数の引数に半角または全角の数値
以外を指定するとエラーになります。
Sub Sample()
On Error Resume Next
Err.Clear
Debug.Print "半角英字 : " & Int("Abc")
If Err.Number <> 0 Then Debug.Print "半角英字 : エラー:" & Err.Description
Err.Clear
Debug.Print "全角英字 : " & Int("Abc")
If Err.Number <> 0 Then Debug.Print "全角英字 : エラー:" & Err.Description
Err.Clear
Debug.Print "ひらがな : " & Int("あいう")
If Err.Number <> 0 Then Debug.Print "ひらがな : エラー:" & Err.Description
Err.Clear
Debug.Print "漢字 : " & Int("亜伊宇")
If Err.Number <> 0 Then Debug.Print "漢字 : エラー:" & Err.Description
Err.Clear
Debug.Print "半角記号 : " & Int("!?#")
If Err.Number <> 0 Then Debug.Print "半角記号 : エラー:" & Err.Description
Err.Clear
Debug.Print "全角記号 : " & Int("!?#")
If Err.Number <> 0 Then Debug.Print "全角記号 : エラー:" & Err.Description
Err.Clear
Debug.Print "半角数字 : " & Int("-1.23")
If Err.Number <> 0 Then Debug.Print "半角数字 : エラー:" & Err.Description
Err.Clear
Debug.Print "全角数字 : " & Int("-1.23")
If Err.Number <> 0 Then Debug.Print "全角数字 : エラー:" & Err.Description
Err.Clear
Debug.Print "スペース : " & "[" & Int("1. 2 3") & "]"
If Err.Number <> 0 Then Debug.Print "スペース : エラー:" & Err.Description
On Error GoTo 0
End Sub
▶ 出力結果
半角英字 : エラー:型が一致しません。
全角英字 : エラー:型が一致しません。
ひらがな : エラー:型が一致しません。
漢字 : エラー:型が一致しません。
半角記号 : エラー:型が一致しません。
全角記号 : エラー:型が一致しません。
半角数字 : -2
全角数字 : -2
スペース : エラー:型が一致しません。
上記ではエラー発生時にエラーを無視して次の処理を実行するよう記述していますが、
エラーを無視する記述が無い場合、エラー時に処理が止まってしまいます。
引数に渡す内容には注意しましょう。
Int関数に似た関数と違い
小数点以下を切り捨てて整数にする関数にはInt関数以外にもFix関数も存在します。
その他のVBA関数
【Excel VBA】VBAでよく使う関数一覧&基本の使い方