Excel VBA ベーシック 模擬問題 模擬試験

Excel VBA ベーシック 模擬問題 ランダム順出題 ② 第5問

以下のコードを実行すると、メッセージボックスには何と表示されるか。

選択肢の中から正しいものを1つ解答しなさい。

 

Sub Exam1()

 Dim N As Double

  N = 123.45

 MsgBox Round(N, 0)

End Sub

 

1.123.5

2.123

3.124

4.123.4

 

正解

2

解説

【8章 関数】

【Round関数】

【Round関数】

Round関数は小数を四捨五入した結果を返します。

桁の位置

構文

Round(値, 桁の位置)

桁の位置

0・・・小数点第1位

1・・・小数点第2位

2・・・小数点第3位

 

なおマクロのRound関数には銀行丸めの仕様が適用されます。

銀行丸めでは、丸める際に境界の数値(0.5など)が出た場合、最も近い偶数に丸めるというルールが適用されます。

これは、数値の偏りを減らし、統計的に公平になるよう設計された方法です。

 

' 銀行丸めが適用される例

Debug.Print Round(1.5, 0)      ' 結果: 2(偶数に丸められる)

Debug.Print Round(2.5, 0)      ' 結果: 2(偶数に丸められる)

Debug.Print Round(3.5, 0)      ' 結果: 4(偶数に丸められる)

 

以下のコードを実行すると、メッセージボックスには何と表示されるか。

選択肢の中から正しいものを1つ解答しなさい。

 

【コード解説】

Sub Exam1()

 Dim N As Double

’変数を宣言する。

  N = 123.45

’変数に右辺の小数点を含む数値を代入する。

 MsgBox Round(N, 0)

’Round関数で小数点第一位を四捨五入した結果を返し、メッセージで表示する。

End Sub

 

1.123.5

誤り。

Round関数の第2引数に0を指定した場合、小数第1位で四捨五入するため、このような結果にはなりません

 

2.123

正しい。

Round関数は、第1引数の数値を第2引数で指定した桁位置で四捨五入します。

第2引数に0を指定した場合、小数第1位で四捨五入され、結果は整数になります。

123.45の小数第1位は4なので切り捨てとなり、123が表示されます。

 

3.124

誤り。

小数第1位が5以上の場合に切り上げられますが、123.45の小数第1位は4なので切り捨てです。

 

4.123.4

誤り。

Round関数の第2引数に0を指定した場合、小数点以下は表示されず整数になります。