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
スペース : エラー:型が一致しません。
上記ではエラー発生時にエラーを無視して次の処理を実行するよう記述していますが、
エラーを無視する記述が無い場合、エラー時に処理が止まってしまいます。
引数に渡す内容には注意しましょう。
Fix関数に似た関数と違い
小数点以下を切り捨てて整数にする関数にはInt関数以外にもFix関数も存在します。
その他のVBA関数
【Excel VBA】VBAでよく使う関数一覧&基本の使い方