Excel VBAのWorksheetFunction.Roundメソッドで、四捨五入するサンプルです。
目次
四捨五入 | 四捨五入する(WorksheetFunction.Round) |
注意点 | Round関数での四捨五入は銀行丸め |
四捨五入する(WorksheetFunction.Round)
WorksheetFunction.Round(引数1、 引数2) |
- 1つめの引数は、四捨五入する対象の数値を指定します。
- 2つめの引数は、四捨五入した結果の桁数を指定します。
- 以下はMicrosoft公式のWorksheetFunction.Roundメソッドのリンクです。
https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheetfunction.round
WorksheetFunction.Roundメソッドで、四捨五入するサンプルです。
Sub test1()
Dim num1 As Double
num1 = 2.5
Debug.Print WorksheetFunction.Round(num1, 0) '3が表示される
Dim num2 As Double
num2 = 2.26
Debug.Print WorksheetFunction.Round(num2, 0) '2が表示される
Debug.Print WorksheetFunction.Round(num2, 1) '2.3が表示される
Dim num3 As Double
num3 = 2.82
Debug.Print WorksheetFunction.Round(num3, 0) '3が表示される
Debug.Print WorksheetFunction.Round(num3, 1) '2.8が表示される
End Sub
WorksheetFunction.Roundメソッドの2つめの引数は、四捨五入した結果の桁数になります。
四捨五入した結果を整数にしたい場合は、5行目のように2つめの引数に0をセットします。
Round関数での四捨五入は銀行丸め
Round(式、[ numdecimalplaces ]) |
- Round関数も四捨五入できますが、銀行丸めになるので注意が必要です。
- 銀行丸めは、端数が0.5で、整数の箇所が偶数の場合は、ゼロへ丸めます。
- 以下はMicrosoft公式のRound関数のリンクです。
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/round-function
Round関数で、四捨五入するサンプルです。
Sub test1()
Debug.Print Round(2.5, 0) '2が表示される
Debug.Print Round(3.5, 0) '4が表示される
Debug.Print WorksheetFunction.Round(2.5, 0) '3が表示される
End Sub
3行目は、Round関数です。端数が0.5で整数の箇所が偶数なのでゼロへの丸めになります。
4行目もRound関数で端数が0.5ですが、整数の箇所が奇数なので通常の四捨五入になります。
6行目は、WorksheetFunction.Roundメソッドです。通常の四捨五入です。
関連の記事