次のコードでは、指定された範囲内のりんごの数をカウントします。このコードを実行するとりんごの数がメッセージボックスに表示されます。空欄に入る適切な語句を解答しなさい。
Sub Exam1()
Dim A As Long
A = WorksheetFunction.【 ① 】(Range("A1:A10"), "りんご")
If A = 0 Then
MsgBox "りんごはありません"
Else
MsgBox "りんごの数: " & A
End If
End Sub
正解
【 ① 】countif
解説
COUNTIF関数は、特定のデータの件数をカウントします。結果が0件だったら そのデータは範囲内に存在しないことになります。 そこで、COUNTIF関数を使ってデータがあるかどうか調べることができます。
・CountIf関数・・範囲内の指定条件にあった件数を調べる
構文:CountIf(範囲,指定条件)
類似の関数として SUMIF関数があります。
・SumIf関数・・・範囲の内の指定条件にあった際、計算する範囲の合計を調べる
構文:SumIf(範囲,指定条件.計算する範囲) です。
[コード解説]
Sub Exam1()
Dim A As Long
' 変数AをLong型として宣言しています。
A = WorksheetFunction.CountIf(Range("A1:A10"), "りんご")
' WorksheetFunction.CountIfを使用して、セル範囲A1:A10内に
' "りんご"がいくつ含まれているかをカウントし、その結果をAに代入しています。
If A = 0 Then
' りんごが0個の場合、メッセージボックスで通知します。
MsgBox "りんごはありません"
Else
' りんごが1個以上の場合、その数をメッセージボックスで表示します。
MsgBox "りんごの数: " & A
End If
End Sub