0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Excel VBA】Int関数|小数点以下の切り捨て方法と注意点

Last updated at Posted at 2025-07-07

この記事では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
スペース : エラー:型が一致しません。

上記ではエラー発生時にエラーを無視して次の処理を実行するよう記述していますが、
エラーを無視する記述が無い場合、エラー時に処理が止まってしまいます。
引数に渡す内容には注意しましょう。

error.png

Int関数に似た関数と違い

小数点以下を切り捨てて整数にする関数にはInt関数以外にもFix関数も存在します。

その他のVBA関数

【Excel VBA】VBAでよく使う関数一覧&基本の使い方

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?