VBA Fix 関数、Int 関数(引数の小数部分を取り除きます)

Fix 関数と Int 関数は引数の小数部分を取り除きます

 Fix(数値) は数値を

[正の整数] + [1 未満の小数]

で指定した場合に [正の整数] を返します。また数値を

[負の整数] - [1 未満の小数]

と指定したときには [負の整数] を返します。

 Int(数値) は数値を

[正の整数] + [1 未満の小数]

で指定した場合に [正の整数] を返します。また数値を

[負の整数] - [1 未満の小数]

と指定したときには [負の整数] - 1 を返します。

  Fix(5.5)   戻り値  5
  Fix(-7.5)  戻り値 -7
  Int(5.5)   戻り値  5
  Int(-7.5)  戻り値 -8
 

Fix と Int を選択する関数

 端数を Fix あるいは Int のどちらで処理するかを選択するファンクションマクロ (ユーザー定義関数) を作っておきました。戻り値は Long 型(長整数型)です。

 Function DROP(n As Double, Optional i As Integer = 0) As Long
  If i = 1 Then
   d = Int(n)
  Else
   d = Fix(n)
  End If
 DROP = d
 End Function

 DROP 関数は 2 つめの引数に 1 を指定したときだけ Int で処理します。それ以外の数値を指定するか、あるいは 2 つめの引数を省略したときには Fix で処理します。たとえば

=DROP(-3.3)

と入力すると「-3 」を返しますが、

=DROP(-3.3,1)

と入力すると「-4 」を返します。
 

IDROP 関数

 今度は逆に integer (整数) をドロップして小数部分のみを残す関数ファンクションマクロ (ユーザー定義関数) です。戻り値はDouble 型(倍精度浮動小数点数型)となります。

 Function IDROP(x As Double) As Double
  IDROP = x - Fix(x)
 End Function

 たとえばワークシート上で

=IDROP(6.2)

と入力すると「 6 」を返します。

コメントをどうぞ

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

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