2017年11月28日
ExcelVBA 四捨五入について
久しぶりにExcelVBAを使って、つまづいた部分をφ(..)メモメモ
VBA上で数値を四捨五入したい場合、Round関数を使います。
■構文
■例文
ん、いくつか想定と違う結果に。。。
これは「銀行型丸め」または「銀行丸め」呼ばれる特殊な四捨五入なんだそうです。
丸めた値が偶数になる丸められます。じゃあ、奇数も含めて丸めるにはどうすればいいのか。
以下のようにWorksheetfunction.Round関数を使います。
四捨五入なんて簡単だろって思ってたら、思わぬ引っ掛けが。今後は気をつけよう。

VBA上で数値を四捨五入したい場合、Round関数を使います。
■構文
Round(expression [, numdecimalplaces])
引数expression … 対象の数値
引数numdecimalplaces … 省略可能。丸めを行う小数点位置
引数expression … 対象の数値
引数numdecimalplaces … 省略可能。丸めを行う小数点位置
■例文
Range(”A1”).Value = Round(1.23) ⇨ 1
Range(”A2”).Value = Round(4.56) ⇨ 4 ※
Range(”A3”).Value = Round(7.89) ⇨ 8
Range(”A4”).Value = Round(1.23, 0) ⇨ 1
Range(”A5”).Value = Round(1.23, 1) ⇨ 1.2
Range(”A6”).Value = Round(4.56, 0) ⇨ 4 ※
Range(”A7”).Value = Round(7.89, 1) ⇨ 7.8 ※
Range(”A2”).Value = Round(4.56) ⇨ 4 ※
Range(”A3”).Value = Round(7.89) ⇨ 8
Range(”A4”).Value = Round(1.23, 0) ⇨ 1
Range(”A5”).Value = Round(1.23, 1) ⇨ 1.2
Range(”A6”).Value = Round(4.56, 0) ⇨ 4 ※
Range(”A7”).Value = Round(7.89, 1) ⇨ 7.8 ※
ん、いくつか想定と違う結果に。。。
これは「銀行型丸め」または「銀行丸め」呼ばれる特殊な四捨五入なんだそうです。
丸めた値が偶数になる丸められます。じゃあ、奇数も含めて丸めるにはどうすればいいのか。
以下のようにWorksheetfunction.Round関数を使います。
Range(”B1”).Value = Worksheetfunction.Round(4.56) ⇨ 5
Range(”B2”).Value = Worksheetfunction.Round(4.56, 0) ⇨ 5
Range(”B3”).Value = Worksheetfunction.Round(7.89, 1) ⇨ 7.9
Range(”B2”).Value = Worksheetfunction.Round(4.56, 0) ⇨ 5
Range(”B3”).Value = Worksheetfunction.Round(7.89, 1) ⇨ 7.9
四捨五入なんて簡単だろって思ってたら、思わぬ引っ掛けが。今後は気をつけよう。

この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/7016550
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック