概要

Round関数は、指定された数値を指定の桁数に四捨五入するためのExcel VBAの関数です。データの丸めや精度の調整が必要な場面で頻繁に使用されます。特に計算結果の桁数を調整したり、表示用に数値を丸める際に便利です。

構文

Round(数値, 桁数)

パラメータ

  • 数値
    四捨五入する対象の数値を指定します。

  • 桁数
    数値を四捨五入する際の小数点以下の桁数を指定します。この値が省略された場合、既定値は0になります。

戻り値

Round関数は、指定された桁数に四捨五入された数値を返します。

説明

Round関数は、小数点以下の桁数を指定することで、数値をその桁数に四捨五入します。この関数は、銀行丸めと呼ばれる方式を採用しており、四捨五入の際に端数が5の場合、最も近い偶数に丸める仕様です。

  • 小数点以下の桁数が正の数の場合、その桁数に四捨五入します。

  • 小数点以下の桁数が0の場合は整数に四捨五入します。

  • 負の数の場合は、整数部分の対応する桁に四捨五入されます。

使用例

基本的な使用例 - 小数点以下を四捨五入

Sub SampleRound()
    Dim result As Double

    result = Round(3.14159, 2)
    MsgBox result  ' 結果: 3.14
End Sub

この例では、数値「3.14159」を小数点以下2桁に四捨五入し、「3.14」が返されます。

負の桁数での四捨五入

Sub RoundNegativePlaces()
    Dim result As Double

    result = Round(12345, -2)
    MsgBox result  ' 結果: 12300
End Sub

負の桁数を指定すると、整数部分が四捨五入されます。この場合、「12345」は百の位で四捨五入され、「12300」となります。

銀行丸めの例

Sub BankersRounding()
    Dim result1 As Double
    Dim result2 As Double

    result1 = Round(2.5)  ' 銀行丸めで「2」に四捨五入
    result2 = Round(3.5)  ' 銀行丸めで「4」に四捨五入
    MsgBox "2.5 -> " & result1 & vbCrLf & "3.5 -> " & result2
End Sub

銀行丸めでは、端数が5のとき、最も近い偶数に丸められるため、「2.5」は「2」に、「3.5」は「4」に四捨五入されます。

注意点

  • 銀行丸めを採用しているため、標準的な四捨五入と異なる結果になる場合があります。特に端数が「5」の場合は注意が必要です。

  • 負の桁数を指定すると整数部分の桁で丸めが行われるため、数値の桁数が多い場合や精度を重視する場合には適切な桁数の指定が必要です。

  • 数値の丸めによって、表示結果や計算結果が意図しない形になることがあるため、使用する際は丸め方を理解した上で実装することが重要です。

Round関数は数値の扱いにおいて重要なツールであり、特に報告書や帳票の作成時など、表示する数値を整える際に非常に役立ちます。VBAでの計算やデータ処理を行う際には、その特徴を活かして正確な結果を得ることができます。