[VBA] Int関数・Fix関数 整数部を返します

 指定した引数に対して、その整数部を返す関数が Int関数Fix関数 です。互いに
よく似た機能を持つ関数ですが、負数を指定した場合にその戻り値が異なります。
 

Int関数

 Int関数 は、指定した数値を超えない最大の整数を返します。数学のガウス記号 [ ] に相当するもので、正の入力値に対しては、そのまま小数点以下を取り除く処理になります。たとえば

Int(1.5)

とすれば、その戻り値は「 1 」です。負の引数に対しては、たとえば

Int(-1.5)

としたとき、戻り値は「-1.5 」を超えない最大の整数「-2 」となります(負数の大小関係に注意です)。
 

Fix関数

 Fix関数 は、指定した数値の小数部分を取り除いた数値を返します。たとえば

Fix(1.5)

としたときは、Int関数と同じく「 1 」という値を戻しますが、

Fix(-1.5)

としたときは、小数部分の 0.5 を落として「-1 」を返してきます。
 

戻り値をチェックするマクロです

 Int関数Fix関数 の違いは忘れやすいので、以下のマクロをモジュールにコピーしておいて戻り値をチェックできるようにしておくと良いかもしれません。

 Sub 整数化()

  Dim n1 As Double, n2 As Double
  Dim n3 As Double, n4 As Double

  n1 = Int(3.5)
  n2 = Int(-3.5)
  n3 = Fix(3.5)
  n4 = Fix(-3.5)

  Debug.Print n1, n2, n3, n4

 End Sub

 このマクロを実行するとイミディエイトウィンドウに

3, -4, 3, -3

という値が並ぶはずです。 ≫ VBA関数辞典

コメントをどうぞ

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください