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関数とFix関数|挙動の違いと使い分けのポイント

Last updated at Posted at 2025-07-07

Int関数とFix関数の違い

VBAには小数点以下を切り捨てて整数にする関数が2つあります。
それが Int関数Fix関数です。

両者は似ていますが、負の数に対する動作に違いがあります。

動作の違い

各関数は以下のように動きます。

関数 動作
Int(数値) 数値の小数点以下を、最も近い小さい方の整数に切り捨てる
Fix(数値) 数値の小数点以下切り捨てる

Int関数の最も近い小さい方の整数に切り捨てて返すという点がポイントです。

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

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

▶ 出力結果

Int(1.23) : 1
Fix(1.23) : 1
Int(-1.23) : -2
Fix(-1.23) : -1

Fix関数の結果が引数の小数点以下を切り捨てる事で1,-1という結果が返っているのに対し、
Int関数では引数が-1.23の場合の結果が異なっています。

これはInt関数が単純に小数点以下を切り捨てるのではなく最も近い小さい方の整数に切り捨てて返すという仕様のため、
-1.23に最も近い小さい方の整数の-2が返ってきます。

比較

引数 Intの結果 Fixの結果
正の整数 引数と同じ 引数と同じ
正の少数 引数の整数部 引数の整数部
負の整数 引数と同じ 引数と同じ
負の少数 引数の整数部-1 引数の整数部
0 0 0

結論

  • 正の数値に対しては、同じ結果となる
  • 負の数値に対しては、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?