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?

Fix関数の使い方と注意点

Fix関数は、数値の小数点以下を切り捨てて返す関数です。

構文

Fix(数値)
  • 数値 : 整数化したい数値
  • 戻り値 : 小数点以下を切り捨てた整数

使用例

こちらの例では1.23, 1.89, -1.23, -1.89という数値に対してFix関数を使用しています。

Sub Sample()
    Debug.Print "1.23 : " & Fix(1.23)
    Debug.Print "1.89 : " & Fix(1.89)
    
    Debug.Print "-1.23 : " & Fix(-1.23)
    Debug.Print "-1.89 : " & Fix(-1.89)
End Sub

▶ 出力結果

1.23 : 1
1.89 : 1
-1.23 : -1
-1.89 : -1

どれも引数に指定した数値の少数部を切り捨てた値が返ってきていることがわかります。

⚠️注意

数値(半角または全角)以外はエラーになる

Fix関数の引数に半角または全角の数値以外を指定するとエラーになります。

Sub Sample()
    On Error Resume Next

    Err.Clear
    Debug.Print "半角英字 : " & Fix("Abc")
    If Err.Number <> 0 Then Debug.Print "半角英字 : エラー:" & Err.Description

    Err.Clear
    Debug.Print "全角英字 : " & Fix("Abc")
    If Err.Number <> 0 Then Debug.Print "全角英字 : エラー:" & Err.Description

    Err.Clear
    Debug.Print "ひらがな : " & Fix("あいう")
    If Err.Number <> 0 Then Debug.Print "ひらがな : エラー:" & Err.Description

    Err.Clear
    Debug.Print "漢字 : " & Fix("亜伊宇")
    If Err.Number <> 0 Then Debug.Print "漢字 : エラー:" & Err.Description

    Err.Clear
    Debug.Print "半角記号 : " & Fix("!?#")
    If Err.Number <> 0 Then Debug.Print "半角記号 : エラー:" & Err.Description

    Err.Clear
    Debug.Print "全角記号 : " & Fix("!?#")
    If Err.Number <> 0 Then Debug.Print "全角記号 : エラー:" & Err.Description

    Err.Clear
    Debug.Print "半角数字 : " & Fix("-1.23")
    If Err.Number <> 0 Then Debug.Print "半角数字 : エラー:" & Err.Description

    Err.Clear
    Debug.Print "全角数字 : " & Fix("-1.23")
    If Err.Number <> 0 Then Debug.Print "全角数字 : エラー:" & Err.Description

    Err.Clear
    Debug.Print "スペース : " & "[" & Fix("1. 2 3") & "]"
    If Err.Number <> 0 Then Debug.Print "スペース : エラー:" & Err.Description

    On Error GoTo 0
End Sub

▶ 出力結果

半角英字 : エラー:型が一致しません。
全角英字 : エラー:型が一致しません。
ひらがな : エラー:型が一致しません。
漢字 : エラー:型が一致しません。
半角記号 : エラー:型が一致しません。
全角記号 : エラー:型が一致しません。
半角数字 : -1
全角数字 : -1
スペース : エラー:型が一致しません。

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

error.png

Fix関数に似た関数と違い

小数点以下を切り捨てて整数にする関数には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?