OfficeType

Excel~COUNTIFS関数で複数の条件に合うセルをカウントしよう~エクセル

今回はエクセルで複数の条件に一致するセルの個数を数えるCOUNTIFS関数について説明します。

  • COUNTIFS関数の書式はCOUNTIFS (条件範囲 1, 検索条件 1, [条件範囲 2, 検索条件 2],…)になります。
  • 条件範囲 1は一つ目の条件を検索する範囲を指定します。
  • 検索条件 1は条件範囲 1の中から件範囲 1の中から検索したい条件を指定します。
  • 条件範囲 2は二つ目の条件を検索する範囲を指定します。
  • 検索条件 2は条件範囲 2の中から検索したい条件を指定します。
  • 同じように条件範囲 3,4,5・・・と検索条件 3,4,5・・・と指定することで複数の条件に一致した数値をカウントします。。

文字列を条件にする

下の画像の例で1班の男性の人数をセルE2に表示したい場合はセルE2に=COUNTIFS(B2:B7,"=1班",C2:C7,"=男性")と入力しEnterを押します。

条件範囲 1は班の項目なのでセルB2からセルB7の範囲を設定するのでB2:B7になります。

検索条件 1は班の項目から1班の人を抽出したいので"1班"になります。条件は"(ダブルクォーテーション)で囲んでください。

条件範囲 2は性別の項目なのでセルC2からセルC7の範囲を設定するのでC2:C7になります。

検索条件 2は性別の項目から男性を抽出したいので"男性"になります。条件は"(ダブルクォーテーション)で囲んでください。

つまりセルE2に=COUNTIFS(B2:B7,"=1班",C2:C7,"=男性")と入力しEnterを押すと1班の男性はAさんとEさんの2人なので2が表示されます。

数値を条件にする

下の画像の例で1班で35歳以上の人の人数をセルE2に表示したい場合はセルE2に=COUNTIFS(B2:B7,"=1班",C2:C7,">=35")と入力しEnterを押します。

条件範囲 1は班の項目なのでセルB2からセルB7の範囲を設定するのでB2:B7になります。

検索条件 1は班の項目から1班の人を抽出したいので"1班"になります。条件は"(ダブルクォーテーション)で囲んでください。

条件範囲 2は年齢の項目なのでセルC2からセルC7の範囲を設定するのでC2:C7になります。

検索条件 2は年齢の項目から35歳以上を抽出したいので">=35"になります。>を含めて"(ダブルクォーテーション)で囲んでください。

比較演算子は以下の表に対応しています。

比較演算子説明
>より大きい
<より小さい
=等しい
>=以上
<=以下
<>等しくない

つまりセルE2に=COUNTIFS(B2:B7,"=1班",C2:C7,">=35")と入力しEnterを押すと1班で35歳以上のAさんとEさんの2人なので2が表示されます。

空白を条件にする

下の画像の例で名前の項目が空白で1班の人の人数をセルE2に表示したい場合はセルE2に=COUNTIFS(A2:A7,"",B2:B7,"1班")と入力しEnterを押します。

条件範囲 1は名前の項目なのでセルA2からセルA7の範囲を設定するのでA2:A7になります。

検索条件 1は名前の項目から空白を抽出したいので空白を設定したい場合は""を入力します。

条件範囲 2は班の項目なのでセルB2からセルB7の範囲を設定するのでB2:B7になります。

検索条件 2は班の項目から1班を抽出したいので"1班"になります。条件は"(ダブルクォーテーション)で囲んでください。

つまりセルE2に=COUNTIFS(A2:A7,"",B2:B7,"1班")と入力しEnterを押すと名前の項目が空白の1班の人のは2人なので2が表示されます。

空白以外を条件にする

下の画像の例で名前の項目が空白以外で1班の人の人数をセルE2に表示したい場合はセルE2に=COUNTIFS(A2:A7,"<>",B2:B7,"1班")と入力しEnterを押します。

条件範囲 1は名前の項目なのでセルA2からセルA7の範囲を設定するのでA2:A7になります。

検索条件 1は名前の項目から空白以外を抽出したいので空白以外を設定したい場合は"<>"を入力します。

条件範囲 2は班の項目なのでセルB2からセルB7の範囲を設定するのでB2:B7になります。

検索条件 2は班の項目から1班を抽出したいので"1班"になります。条件は"(ダブルクォーテーション)で囲んでください。

つまりセルE2に=COUNTIFS(A2:A7,"<>",B2:B7,"1班")と入力しEnterを押すと名前の項目が空白以外で1班の人はAさんとEさんの2人なので2が表示されます。

日付を条件にする

下の画像の例でセルC2に2016/9/27から2016/9/30の日数を表示したい場合はセルC2に=COUNTIFS(A2:A7,">=2016/9/27",A2:A7,"<=2016 /9/30")と入力しEnterを押します。

条件範囲 1は日付の項目なのでセルA2からセルA7の範囲を設定するのでA2:A7になります。

検索条件 1は日付の項目から2016/9/27以降を抽出したいので">=2016/9/27"を入力します。

条件範囲 2も日付の項目なのでセルA2からセルA7の範囲を設定するのでA2:A7になります。

検索条件 2は日付の項目から2016/9/30以前を抽出したいので"<=2016/9/30"を入力します。

つまりセルC2に=COUNTIFS(A2:A7,">=2016/9/27",A2:A7,"<=2016 /9/30")と入力しEnterを押すと2つの日付の条件から2016/9/27から2016/9/30の日数4が表示されます。

任意の文字列を含む事を条件にする

任意の文字列を含むことを条件に指定したい場合はワイルドカードの*(アスタリスク)か?(クエスチョンマーク)を使います。*は文字数無制限の文字列を意味します。例えば"あ*"は最初に"あ"を含む文字列を意味します。"あいうえお"でも"あい"でも条件に一致したとみなされます。"*お"は最後に"お"を含む文字列を意味します。"あいうえお"でも"えお"でも条件に一致するとみなされます。?は1文字を意味します。たとえば"あ?"は最初に"あ"を含む2文字を意味します。"あい"や"あう"は条件に一致しますが、"あいう"は条件に一致しません。最初に"あ"を含む3文字を条件にしたい場合は"あ??"とします。

下の画像の例で名前の最後に"君"を含む1班の人のポイント合計をセルD2に表示したい場合はセルD2に=COUNTIFS(A2:A7,"*君",B2:B7,"=1班")と入力しEnterを押します。

条件範囲 1は名前の項目なのでセルA2からセルA7の範囲を設定するのでA2:A7になります。

検索条件 1は名前の項目から名前の最後に"君"を含む人を抽出したいので"*君"を入力します。

条件範囲 2は班の項目なのでセルB2からセルB7の範囲を設定するのでB2:B7になります。

検索条件 2は班の項目から1班を抽出したいので"1班"を入力します。

つまりセルD2に=COUNTIFS(A2:A7,"*君",B2:B7,"=1班")と入力しEnterを押すと名前の最後に"君"を含む1班の人はD君とF君の2人なので2が表示されます。

別セルを参照して条件にする

下の画像の例で検索条件 1にセルE2を参照し、検索条件 2にセルF2を参照してセルG2に1班の35歳以上の人のポイントの合計を表示したい場合はセルG2に=COUNTIFS(B$2:B$7,E2,C$2:C$7,">="&F2) と入力しEnterを押します。オートフィルした時に範囲がズレないように合計対象範囲と条件範囲 1、条件範囲 2に絶対参照$を使用しています。

条件範囲 1は班の項目なのでセルB2からセルB7の範囲を設定するので$B$2:$B$7になります。

検索条件 1はセルE2を参照して班の項目から1班の人を抽出したいのでE2を入力します。

条件範囲 2は年齢の項目なのでセルC2からセルC7の範囲を設定するので$C$2:$C$7になります。

検索条件 2はセルF2を参照して年齢の項目から35際以上の人をを抽出したいので">="&F2を入力します。

つまりセルG2に=COUNTIFS(B$2:B$7,E2,C$2:C$7,">="&F2)と入力しEnterを押すと1班の35歳以上の人はAさんとEさんの2人なので2が表示されます。

セルG2からセルG3までオートフィルすれば2班の40歳以上の人の人数も求められます。

条件は1つでもOK

COUNTIFS関数は複数の条件を指定してカウントするのに便利ですが、条件は1つでもOKです。これはCOUNTIF関数と同じ結果が得られるので好きな方を使いましょう。

下の画像の例で1班の人の人数をセルD2に表示したい場合はセルE2に=COUNTIFS(B2:B7,"=1班")と入力しEnterを押します。

条件範囲 1は班の項目なのでセルB2からセルB7の範囲を設定するのでB2:B7になります。

検索条件 1は班の項目から1班の人を抽出したいので"1班"を入力します。

つまりセルE2に=COUNTIFS(B2:B7,"=1班")と入力しEnterを押すと1班の人はAさん、Dさん、Eさんの3人なので3が表示されます。