【EXCEL VBA】数値の四捨五入、切り上げ、切り捨てをしたい

数値の四捨五入、切り上げ、切り捨てをする方法を紹介します。一覧にすると以下になります。

四捨五入:Round

切り上げ:WorksheetFunction.RoundUp

切り捨て:WorksheetFunction.RoundDown、Int、Fix

サンプルプログラム

Option Explicit

Sub sample()

    ' 四捨五入
    Debug.Print Round(5.55)         ' 6
    Debug.Print Round(5.44)         ' 5
    Debug.Print Round(5.55, 1)      ' 5.6
    Debug.Print Round(5.44, 1)      ' 5.4
    ' 四捨五入(負の数)
    Debug.Print Round(-5.55)        ' -6
    Debug.Print Round(-5.44)        ' -5
    Debug.Print Round(-5.55, 1)     ' -5.6
    Debug.Print Round(-5.44, 1)     ' -5.4

    ' 切り上げ
    Debug.Print WorksheetFunction.RoundUp(5.55, 0)        ' 6
    Debug.Print WorksheetFunction.RoundUp(5.44, 0)        ' 6
    Debug.Print WorksheetFunction.RoundUp(5.55, 1)        ' 5.6
    Debug.Print WorksheetFunction.RoundUp(5.44, 1)        ' 5.5
    ' 切り上げ(負の数)
    Debug.Print WorksheetFunction.RoundUp(-5.55, 0)       ' -6
    Debug.Print WorksheetFunction.RoundUp(-5.44, 0)       ' -6
    Debug.Print WorksheetFunction.RoundUp(-5.55, 1)       ' -5.6
    Debug.Print WorksheetFunction.RoundUp(-5.44, 1)       ' -5.5

    ' 切り捨て
    Debug.Print WorksheetFunction.RoundDown(5.55, 0)      ' 5
    Debug.Print WorksheetFunction.RoundDown(5.44, 0)      ' 5
    Debug.Print WorksheetFunction.RoundDown(5.55, 1)      ' 5.5
    Debug.Print WorksheetFunction.RoundDown(5.44, 1)      ' 5.4
    ' 切り捨て(負の数)
    Debug.Print WorksheetFunction.RoundDown(-5.55, 0)     ' -5
    Debug.Print WorksheetFunction.RoundDown(-5.44, 0)     ' -5
    Debug.Print WorksheetFunction.RoundDown(-5.55, 1)     ' -5.5
    Debug.Print WorksheetFunction.RoundDown(-5.44, 1)     ' -5.4

    ' 切り捨て(整数限定)
    Debug.Print Int(5.55)      ' 5
    Debug.Print Int(5.44)      ' 5
    Debug.Print Fix(5.55)      ' 5
    Debug.Print Fix(5.44)      ' 5
    ' 切り捨て(整数限定)(負の数)
    Debug.Print Int(-5.55)     ' -6
    Debug.Print Int(-5.44)     ' -6
    Debug.Print Fix(-5.55)     ' -5
    Debug.Print Fix(-5.44)     ' -5

End Sub