このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】数値を整数化する方法(Int関数, Fix関数, Round関数)

【VBA】数値を整数化する方法(Int関数, Fix関数, Round関数)

今回はVBAで数値を整数化する方法を紹介します。

数値の整数化にはInt関数もしくはFix関数を使います。

普通に使う分には気にしなくて良いのですが、負の数を正数化しようとするとInt関数とFix関数で結果に違いが出てきます。

もし負の数を正数化する場合はInt関数とFix関数の違いについても理解しておきましょう。

VBAが難しいと感じたら
ココナラでVBAの開発請負を行っています。
お気軽にご相談ください。

数値を整数化する方法

Sub Sample()
    Const num = 3.7
    
    Debug.Print Int(num) '3(切り捨て)
    Debug.Print Fix(num) '3(切り捨て)
    Debug.Print Round(num, 0) '4(四捨五入)
End Sub

サンプルコードのようにInt関数、Fix関数ともに小数点以下を切り捨てた値を返します。

また、Round関数は四捨五入した値を返します。Round関数の第2引数は小数点以下何桁とするかを指示します。 (整数化するためにここでは0を指定)

Int関数とFix関数の違い(負の数を正数化)

Sub Sample2()
    Const num = -3.7
    
    Debug.Print Int(num) '-4(マイナス方向へ正数化)
    Debug.Print Fix(num) '-3(プラス方法へ正数化)
    Debug.Print Round(num, 0) 'ー4(四捨五入)
End Sub

負の値を整数化する場合にはInt関数とFix関数で結果に差が出てきます。

数値が負の場合、Intは数値以下の最初の負の整数を返しますが、Fixは数値以上の最初の負の整数を返します。たとえば、-8.4はIntでは-9に変換されますが、Fixでは-8に変換されます。

  • Int関数はより値を切り上げしてマイナス方向に整数化します。
  • Fix関数はより値を切り捨てしてプラス方向に整数化します。

負の値を扱う場合は注意して使いましょう。

特殊なケースを想定していないのならばRound関数で四捨五入するのもおすすめです。

VBAが難しいと感じたら
ココナラでVBAの開発請負を行っています。
お気軽にご相談ください。

VBA

Posted by やろまい