
Excel VBAで「もし○○で△△だったらカウントする」という複数条件のワークシート関数の「CountIfs」を使ってみます。
下図はExcel2016です。
< スポンサーリンク >
「CountIfs」構文
WorksheetFunction.CountIfs(Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30)
Arg1=必須。データ型はRange。対応する条件による評価の対象となる範囲を指定します。
Arg2=必須。データ型はVariant。計算の対象となるセルを定義する条件を数値、式、セル参照、または文字列で指定。たとえば、検索条件は 32、”32″、”Windows”、またはB4のようになります。(式および文字列を指定する場合は半角の二重引用符(“)で囲む必要があります。
戻り値:倍精度浮動小数点型(Double)
指定された範囲に含まれるセルのうち、複数の検索条件に一致するセルの個数を返します。
範囲内の各セルは、セルに対して指定されたすべての対応する条件がTrueである場合にのみカウントされます。
任意の引数のセルが空のセルの場合、CountIfsはそれを0の値として扱います。
「CountIfs」の使用例
D列が男でE列が35以上の条件に一致するセルを数えてメッセージで表示します。
Sub test()
With ActiveSheet
MsgBox WorksheetFunction.CountIfs(.Range(“D:D”), “男”, .Range(“E:E”), “>=35”)
End With
End Sub


VBAではなくセル上での「CountIfs」関数の使用方法はこちら↓
Excelで「女性で50歳以上の人数を数えたい」など、複数の条件を指定してセルを数える場合は、「COUNTIFS」関数を使います。 下図はExcel2016、サンプルデータです。 COUNTIFS関数 複数の範囲のセルに …
こんな記事も書いています