Round関数:数値を四捨五入する

Round 関数は Excel VBA で用意されている関数の一つで、引数に指定した数値を指定した桁数の位置で四捨五入した結果を取得します。ここでは Excel VBA における Round 関数の使い方について解説します。

(Last modified: )

Round関数の定義と使い方

Round 関数は引数に指定した数値を指定の桁数の位置で四捨五入した結果を返します。

Round(expression)

1 番目の引数に対象となる数値を指定します。省略可能な 2 番目の引数に小数点以下何桁の位置で四捨五入を行うのかを指定します。デフォルトの値は 0 です。

次の例を見てください。

Debug.Print Round(8.473)   '8
Debug.Print Round(8.473,1) '8.5
Debug.Print Round(8.473,2) '8.47

Round 関数の 2 番目の引数を省略すると小数点の位置で四捨五入するので Round(8.473) は 8 と出力されます。 2 番目の引数に 1 を指定すると小数点以下 1 桁の位置で四捨五入するので Round(8.473,1) は 8.5 と出力されます。 2 番目の引数に 2 を指定すると小数点以下 2 桁の位置で四捨五入するので Round(8.473,2) は 8.47 と出力されます。

四捨五入の対象の値が5のときの処理

Round 関数では四捨五入する対象の値が 5 だった場合に必ず切り上げをするのではなく、切り上げた位置の値が偶数になるように丸められます。

次の例を見てください。

Debug.Print Round(0.5, 0)  '0
Debug.Print Round(1.5, 0)  '2
Debug.Print Round(2.5, 0)  '2
Debug.Print Round(3.5, 0)  '4

Round(0.5, 0) は小数点以下 0 桁の位置で四捨五入すると 1 となりますが、偶数になるように丸められるため 1 ではなく 0 が返ります。 Round(1.5, 0) は四捨五入すると 2 となりますが、偶数なのでそのまま 2 が返ります。 Round(2.5, 0) は四捨五入すると 3 となりますが、偶数になるように丸めらるため 3 ではなく 2 が返ります。

このように対象の値が 5 のときは必ず切り上げられるのではなく、切り上げた位置の値が偶数になるように丸められる点にご注意ください。

サンプルコード

それでは簡単なサンプルを作成して試してみます。

Option Explicit

Sub Round関数()
    Range("D3").Value = Round(Range("B3").Value, Range("C3").Value)
    Range("D4").Value = Round(Range("B4").Value, Range("C4").Value)
    Range("D5").Value = Round(Range("B5").Value, Range("C5").Value)
    Range("D6").Value = Round(Range("B6").Value, Range("C6").Value)
End Sub

Round関数の定義と使い方(1)

このプログラムを実行すると Round 関数を使って B3 セルから B6 セルに入力されている数値を四捨五入します。四捨五入する位置は C3 セルから C6 セルに入力されている数値の桁数で行いますそして取得した結果を D3 セルから D6 セルにそれぞれ代入します。

Round関数の定義と使い方(2)

-- --

Excel VBA における Round 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。