「目標の売上数を達成した商品数」や「テストにおいて平均点、または合格点のボーダーを超えた生徒の人数」などの条件に当てはまる要素の総数を調べなければならないことが多々あります。
上記のような、ある特定の条件に当てはまるセルの数のカウントを行いたい場合に便利なExcelの関数が「COUNTIF関数」です。特定の条件を満たしたデータの総数をカウントする際にCOUNTIF関数は便利な関数ではありますが、一方で、設定できる条件が1つのみという制約があります。
それでは、条件を複数設定して、その条件に当てはまる要素の総数を調べたい場合はどうしたら良いのでしょうか。そのような場合に便利な関数が、「COUNTIFS関数」です。
今回は、設定した複数の条件を満たすセルの数をカウントすることができるExcelのCOUNTIFS関数について紹介します。
チャット一括管理アプリ「OneChat」が今なら初月無料!!
OneChatのダウンロードはこちらから
ExcelのCOUNTIF関数とその使い方
COUNTIFS関数について解説する前に、まずは設定した単一の条件に当てはまるセルの数をカウントすることができるCOUNTIF関数の基本的な概要やその使い方についての解説を行います。
COUNTIF関数とCOUNTIFS関数は共通の要素も多いため、COUNTIF関数について理解できているとCOUNTIFS関数を用いる際に便利です。
COUNTIF関数の基本的な概要
COUNTIF関数とは、指定された条件を満たすセルがいくつ存在するのかを数えてくれる関数です。
COUNTIF関数の基本的な構文は次の通りです。
=COUNTIF(範囲, 検索条件)
項目 | 内容 |
範囲 | 数えたいセルの範囲を指定します。ここでは、数値や配列などが入力されます。範囲内に空の値とテキスト値が存在する場合は無視されます。 |
検索条件 | 個数の計算対象とするセルを決める条件を、式や文字列、数値やセル参照によって指定します。 |
参考:COUNTIF 関数 – Microsoft サポート
COUNTIF関数でセル内のデータをカウント
COUNTIF関数を用いてセル内のデータをカウントする手順について、具体例を交えて紹介します。
行\列 | A | B | C |
1 | 名前 | 性別 | 点数 |
2 | 山田 | 男 | 61 |
3 | 鈴木 | 男 | 83 |
4 | 中村 | 女 | 59 |
5 | 岡崎 | 男 | 81 |
6 | 竹本 | 女 | 75 |
7 | 高橋 | 男 | 69 |
8 | 内藤 | 女 | 48 |
9 | 上杉 | 女 | 58 |
10 | 真田 | 男 | 94 |
11 | 村下 | 女 | 82 |
行\列 | E | F |
1 | 平均点 | 72 |
2 | 平均点以上の人数 |
例えば、上記のようなデータの中から、平均点以上の人数が何人いるかをカウントしてみます。
COUNTIF関数の数式を入力する
「平均点以上の人数」のカウント結果を入力したいセル(F2)にCOUNTIF関数の数式を入力していきます。
セル範囲と指定条件の設定方法
カウント結果を入力したいセル(F2)を選択できたら、セル範囲と指定条件の設定をしていきます。
①第一引数を指定する
第一引数である「検索を行いたい範囲」の指定を行います。範囲の指定は、範囲の始点と終点のセルの間に「:(コロン)」を入力することで行います。または、始点となるセルをカーソルで選び、終点までドラッグすることでも行うことができます。
今回は、それぞれの点数の検索を行うため、「B2:B11」を指定します。
=COUNTIF(B2:B11,
②第二引数を指定する
第二引数である「検索条件」の指定を行います。今回は、「平均点」の値が第二引数に当たります。
=COUNTIF(B2:B11,”>=72″)
これにより、データから平均点以上の人数をカウントすることができます。
行\列 | A | B | C |
1 | 名前 | 性別 | 点数 |
2 | 山田 | 男 | 61 |
3 | 鈴木 | 男 | 83 |
4 | 中村 | 女 | 59 |
5 | 岡崎 | 男 | 81 |
6 | 竹本 | 女 | 75 |
7 | 高橋 | 男 | 69 |
8 | 内藤 | 女 | 48 |
9 | 上杉 | 女 | 58 |
10 | 真田 | 男 | 94 |
11 | 村下 | 女 | 82 |
行\列 | E | F |
1 | 平均点 | 72 |
2 | 平均点以上の人数 | =COUNTIF(B2:B11,”>=72″) |
行\列 | E | F |
1 | 平均点 | 72 |
2 | 平均点以上の人数 | 5 |
エクセルで条件によるカウントの数値計算
第二引数の「検索条件」に比較演算子とワイルドカードを用いることで、条件によるカウントの数値計算を行うことができます。
第二引数に使用することのできる比較演算子とワイルドカードを紹介します。
演算子 | 意味 | 使用例 | 結果 |
= | 等しい | “=2” | 2と等しい |
<> | 等しくない | “<>2” | 2と等しくない |
> | より大きい | “>2” | 2より大きい |
>= | 以上 | “>=2” | 2以上 |
< | より小さい | “<2” | 2より小さい |
<= | 以下 | “<=2” | 2以下 |
ワイルドカード | 意味 |
?(クエスチョンマーク) | 任意の一文字と一致する |
*(アスタリスク) | 0文字以上の任意の文字列と一致する |
関連記事:Excelで活用するFILTER関数とは? データ抽出のポイントも紹介
COUNTIFS関数で複数条件を満たすデータの個数を求める
COUNTIF関数は、単一の条件でしかデータのカウントを行うことができない関数です。そのため、複数条件を設定した、条件に当てはまるデータのカウントを行いたい場合は、COUNTIF関数と同様の性質を有する「COUNTIFS関数」を用いる必要があります。
COUNTIFS関数の使い方と機能について
COUNTIFS関数の基本的な構文は次の通りです。
=COUNTIFS (条件範囲 1, 検索条件 1, [条件範囲 2, 検索条件 2],…)
項目 | 内容 |
条件範囲 | 数えたいセルの範囲を指定します。ここでは、数値や配列などが入力されます。範囲内に空の値とテキスト値が存在する場合は無視されます。 |
検索条件 | 個数の計算対象とするセルを決める条件を、式や文字列、数値やセル参照によって指定します。 |
条件範囲は、それぞれ同一の範囲が指定されていても問題はありません。入力できる引数の数に制限はないため、ユーザーが必要な数だけ条件範囲と検索条件を指定することができます。
参考:COUNTIFS 関数 – Microsoft サポート
複数条件を満たすデータのカウント方法
COUNTIFS関数を用いてセル内のデータをカウントする手順について、具体例を交えて紹介します。
行\列 | A | B | C |
1 | 名前 | 性別 | 点数 |
2 | 山田 | 男 | 61 |
3 | 鈴木 | 男 | 83 |
4 | 中村 | 女 | 59 |
5 | 岡崎 | 男 | 81 |
6 | 竹本 | 女 | 75 |
7 | 高橋 | 男 | 69 |
8 | 内藤 | 女 | 48 |
9 | 上杉 | 女 | 58 |
10 | 真田 | 男 | 94 |
11 | 村下 | 女 | 82 |
行\列 | E | F |
1 | 平均点 | 72 |
2 | 平均点以上の男性 |
例えば、上記のようなデータの中から、平均点以上の男性が何人いるかをカウントしてみます。
COUNTIFS関数の引数の指定方法は、基本的にCOUNTIF関数と同じ流れで行うことができます。
①COUNTIFS関数の数式を入力する
「平均点以上の男性」のカウント結果を入力したいセル(F2)にCOUNTIFS関数の数式を入力していきます。
②第一引数を指定する
第一引数である「条件範囲1」の指定を行います。範囲の指定は、範囲の始点と終点のセルの間に「:(コロン)」を入力することで行います。または、始点となるセルをカーソルで選び、終点までドラッグすることでも行うことができます。
まずは、今回の条件である「平均点以上の男性」のうち、「男性」である点を条件とし第一引数・第二引数で設定するため、「B2:B11」を指定します。
=COUNTIFS(B2:B11,
③第二引数を指定する
第二引数である「検索条件1」の指定を行います。第一引数では、今回の条件である「平均点以上の男性」のうち、「男性」つまり「性別」が入力されているセル範囲を指定したので、第二引数では「男性(男)」を指定しましょう。
=COUNTIF(B2:B11, ”男”)
④第三引数を指定する
第一引数・第二引数で「男性」であることの条件指定ができました。第三引数・第四引数では、「平均点以上である」ことを指定していきましょう。
まずは、「条件範囲2」で、点数が入力されているセルの範囲を指定します。今回は、「C2:C11」を指定します。この際、追加した条件範囲は、はじめに第一引数で指定した条件範囲と同一の数の行・列が指定されてなければならない点に注意しましょう。
=COUNTIFS(B2:B11, ”男”, C2:C11,
⑤第四引数を指定する
最後に、第四引数である「検索条件2」の指定を行います。第三引数では、「点数」が入力されているセルの範囲を指定したため、ここでは「平均点以上である」ことを指定しましょう。今回は、「72点」が平均点であるため、「72点以上である」と指定しましょう。
=COUNTIFS(B2:B11, ”男”, C2:C11, “>=72”)
これにより、データから平均点以上の男性の人数をカウントすることができます。
行\列 | A | B | C |
1 | 名前 | 性別 | 点数 |
2 | 山田 | 男 | 61 |
3 | 鈴木 | 男 | 83 |
4 | 中村 | 女 | 59 |
5 | 岡崎 | 男 | 81 |
6 | 竹本 | 女 | 75 |
7 | 高橋 | 男 | 69 |
8 | 内藤 | 女 | 48 |
9 | 上杉 | 女 | 58 |
10 | 真田 | 男 | 94 |
11 | 村下 | 女 | 82 |
行\列 | E | F |
1 | 平均点 | 72 |
2 | 平均点以上の男性 | =COUNTIFS(B2:B11, ”男”, C2:C11, “>=72”) |
行\列 | E | F |
1 | 平均点 | 72 |
2 | 平均点以上の男性 | 3 |
AND条件とOR条件の設定方法
COUNTIFS関数では、複数の条件を指定することで、AND条件(すべての条件を満たす場合)やOR条件(いずれかの条件を満たす場合)を設定することができます。
AND条件の設定方法
AND条件を設定する場合は、条件全ての指定を行う必要があります。AND条件では、指定した全ての条件を満たすセルの数をカウントします。
行\列 | A | B | C |
1 | 店舗名 | 商品名 | 価格(円) |
2 | 店舗A | りんご | 150 |
3 | 店舗A | りんご | 80 |
4 | 店舗B | バナナ | 120 |
5 | 店舗B | バナナ | 210 |
6 | 店舗C | さくらんぼ | 90 |
7 | 店舗C | さくらんぼ | 170 |
行\列 | E | F |
1 | 「りんご」かつ「価格が100円以上」 |
例えば、上記のようなデータから、商品名が「りんご」かつ「価格が100円以上」の商品を数える場合は、次のような数式となります。
=COUNTIFS(B2:B7, “りんご”, C2:C7, “>=100”)
行\列 | A | B | C |
1 | 店舗名 | 商品名 | 価格(円) |
2 | 店舗A | りんご | 150 |
3 | 店舗A | りんご | 80 |
4 | 店舗B | バナナ | 120 |
5 | 店舗B | バナナ | 210 |
6 | 店舗C | さくらんぼ | 90 |
7 | 店舗C | さくらんぼ | 170 |
行\列 | E | F |
1 | 「りんご」かつ「価格が100円以上」 | =COUNTIFS(B2:B7, “りんご”, C2:C7, “>=100”) |
行\列 | E | F |
1 | 「りんご」かつ「価格が100円以上」 | 1 |
OR条件の設定方法
OR条件を設定する場合は、条件となるペアの指定を複数行い、条件範囲と条件の組み合わせをカンマを用いて区切ります。また、指定したい条件の組み合わせの分だけ指定を行います。OR条件では、指定した条件のいずれかを満たすセルの数がカウントされます。
行\列 | A | B | C |
1 | 店舗名 | 商品名 | 価格(円) |
2 | 店舗A | りんご | 150 |
3 | 店舗A | りんご | 80 |
4 | 店舗B | バナナ | 120 |
5 | 店舗B | バナナ | 210 |
6 | 店舗C | さくらんぼ | 90 |
7 | 店舗C | さくらんぼ | 170 |
行\列 | E | F |
1 | 「りんご」または「バナナ」である |
例えば、上記のようなデータから、商品名が「りんご」または「バナナ」である商品の数を数える場合は、次のような数式となります。
=COUNTIFS(B2:B7, “りんご”, C2:C7, “>0”) + COUNTIFS(B2:B7, “バナナ”, C2:C7, “>0”)
行\列 | A | B | C |
1 | 店舗名 | 商品名 | 価格(円) |
2 | 店舗A | りんご | 150 |
3 | 店舗A | りんご | 80 |
4 | 店舗B | バナナ | 120 |
5 | 店舗B | バナナ | 210 |
6 | 店舗C | さくらんぼ | 90 |
7 | 店舗C | さくらんぼ | 170 |
行\列 | E | F |
1 | 「りんご」または「バナナ」である | =COUNTIFS(B2:B7, “りんご”, C2:C7, “>0”) + COUNTIFS(B2:B7, “バナナ”, C2:C7, “>0”) |
行\列 | E | F |
1 | 「りんご」または「バナナ」である | 4 |
この数式では、「B列の条件が「りんご」かつC列の条件が0より大きい(価格が入力されている)、またはB列の条件が「バナナ」かつC列の条件が0より大きい」の条件を満たすセルの数がカウントされます。
対応する列や行を絞り込む検索方法
COUNTIF関数を用いて対応する列や行を絞り込む検索方法について紹介します。
Excelでは、検索や集計を行う際に特定の列や行を絞り込むことが可能です。主に、セルの範囲を指定することによって条件を設定する方法が挙げられます。
行\列 | A | B | C |
1 | 店舗名 | 商品名 | 価格(円) |
2 | 店舗A | りんご | 200 |
3 | 店舗B | りんご | 230 |
4 | 店舗C | りんご | 180 |
5 | 店舗A | バナナ | 240 |
6 | 店舗B | バナナ | 190 |
7 | 店舗C | バナナ | 210 |
8 | 店舗A | さくらんぼ | 180 |
9 | 店舗B | さくらんぼ | 200 |
10 | 店舗C | さくらんぼ | 170 |
行\列 | A | B |
1 | 「りんご」かつ「200円以上」 |
例えば、上記のように、A列に「店舗名」、B列に「商品名」、C列に「価格」が入力されているデータがあるとしましょう。B列の「商品名」から「りんご」で、かつC列の「価格」から「200以上」のデータが入力されている行を絞り込んでセルをカウントしたい場合は、次のように行います。
①「商品名」が「りんご」を条件とし絞り込む
「条件範囲1」は「商品名」が入力されている部分となるため、「B2:B10」を指定します。
「検索条件1」は絞り込む条件となる「りんご」を指定します。
=COUNTIFS(B2:B1, “りんご”,
②「価格(円)」が「200円以上」を条件とし絞り込む
「条件範囲2」は「価格(円)」が入力されている部分となるため、「C2:C10」を指定します。
「検索条件2」は絞り込む条件となる「200円以上」を指定します。
=COUNTIFS(B2:B1, “りんご”, C2:C1, “>=200”)
行\列 | A | B | C |
1 | 店舗名 | 商品名 | 価格(円) |
2 | 店舗A | りんご | 200 |
3 | 店舗B | りんご | 230 |
4 | 店舗C | りんご | 180 |
5 | 店舗A | バナナ | 240 |
6 | 店舗B | バナナ | 190 |
7 | 店舗C | バナナ | 210 |
8 | 店舗A | さくらんぼ | 180 |
9 | 店舗B | さくらんぼ | 200 |
10 | 店舗C | さくらんぼ | 170 |
行\列 | A | B |
1 | 「りんご」かつ「200円以上」 | =COUNTIFS(B2:B1, “りんご”, C2:C1, “>=200”) |
行\列 | A | B |
1 | 「りんご」かつ「200円以上」 | 2 |
COUNTIF関数とCOUNTIFS関数の違いと使い分け
「COUNTIF関数」と「COUNTIFS関数」は、どちらも指定した範囲から条件に当てはまるセルの数をカウントしてくれる関数です。この2つの関数の違いと使い分けについて紹介します。
1つの条件と複数条件のカウントの違い
COUNTIF関数とCOUNTIFS関数の最も大きな違いは、設定できる条件の数と言えるでしょう。
COUNTIF関数は、単一の検索条件を設定し、その条件に当てはまるセルの数をカウントしてくれます。一方、COUNTIFS関数では、検索条件を複数設定することができるため、ある意味COUNTIF関数の上位の関数と言えるでしょう。
場合による関数の選択と利用ポイント
COUNTIF関数とCOUNTIFS関数の使い分けのポイントについて紹介します。COUNTIF関数とCOUNTIFS関数の主な違いは次の通りです。
COUNTIF関数 | COUNTIFS関数 | |
概要 | 指定された単一の条件を満たすセルがいくつ存在するのかを数えてくれる関数です。 | 指定された複数の条件を満たすセルがいくつ存在するのかを数えてくれる関数です。 |
構文 | =COUNTIF(範囲, 検索条件) | =COUNTIFS (条件範囲 1, 検索条件 1, [条件範囲 2, 検索条件 2],…) |
設定可能範囲/条件数 | 1つ | 複数(最大127組) |
COUNTIF関数は、単一の条件を満たすセルの数をカウントしたい場合に使用し、COUNTIFS関数は複数の条件を満たすセルの数をカウントしたい場合に使用します。
条件の数や複雑さに応じて、適切な関数を選択すると良いでしょう。
COUNTA関数を使った空白以外のセルカウント
COUNTA関数は、指定した範囲内に存在する空白を除いたセルの数をカウントしてくれる関数です。COUNTA関数の基本的な構文は以下の通りです。
=COUNTA(値 1, [値 2], …)
項目 | 内容 |
値 | 数えたいセルの範囲や数えたい対象の値を指定します。 |
例えば、以下のデータから「商品ID」をもとに「商品数」をCOUNTA関数を用いて表示させてみましょう。
行\列 | A | B | C |
1 | 商品ID | 商品名 | 単価 |
2 | K1-001A | 商品A | 570 |
3 | K1-001B | 商品B | 360 |
4 | K1-002A | 商品C | 820 |
5 | K1-002B | 商品D | 650 |
6 | K1-003A | 商品E | 980 |
7 | K1-003B | 商品F | 260 |
行\列 | E | F |
1 | 商品数 |
「商品数」の結果を表示させたい「F1」セルに「COUNTA関数」の数式を入力します。
=COUNTA(A2:A7)
行\列 | A | B | C |
1 | 商品ID | 商品名 | 単価 |
2 | K1-001A | 商品A | 570 |
3 | K1-001B | 商品B | 360 |
4 | K1-002A | 商品C | 820 |
5 | K1-002B | 商品D | 650 |
6 | K1-003A | 商品E | 980 |
7 | K1-003B | 商品F | 260 |
行\列 | E | F |
1 | 商品数 | =COUNTA(A2:A7) |
行\列 | E | F |
1 | 商品数 | 6 |
よくある質問
COUNTIFS関数を用いる際によくある質問について紹介します。
Countif関数で複数の条件を指定できるのはいくつまでですか?
Countif関数で指定することができる条件の数は1つのみです。そのため、複数の条件を指定してカウントを行いたい場合に用いることはできません。もし、複数の条件を指定して条件に当てはまるセルの数をカウントしたい場合は、「COUNTIFS関数」を用いましょう。
Countifs関数で最大何個まで条件を指定できますか?
Countifs関数では、複数の条件を指定して、条件に当てはまるセルの数をカウントすることができます。COUNTIFS関数において、最大127組までの条件範囲・条件が指定可能です。
ただし、追加した各条件範囲は、はじめに第一引数で指定した条件範囲と同一の数の行・列が指定されてなければならない点に注意しましょう。
エクセルで2つの条件を満たすものをカウントするにはどうすればいいですか?
エクセルで2つの条件を満たすものをカウントしたい場合は、COUNTIFS関数の条件設定をAND条件で用いて行いましょう。AND条件を設定する場合は、条件全ての指定を行う必要があります。AND条件では、指定した全ての条件を満たすセルの数をカウントします。
行\列 | A | B | C |
1 | 店舗名 | 商品名 | 価格(円) |
2 | 店舗A | りんご | 150 |
3 | 店舗A | りんご | 80 |
4 | 店舗B | バナナ | 120 |
5 | 店舗B | バナナ | 210 |
6 | 店舗C | さくらんぼ | 90 |
7 | 店舗C | さくらんぼ | 170 |
例えば、上記のようなデータから、商品名が「りんご」かつ「価格が100円以上」の商品を数える場合は、次のような数式となります。
=COUNTIFS(B2:B7, “りんご”, C2:C7, “>=100”)
行\列 | A | B | C |
1 | 店舗名 | 商品名 | 価格(円) |
2 | 店舗A | りんご | 150 |
3 | 店舗A | りんご | 80 |
4 | 店舗B | バナナ | 120 |
5 | 店舗B | バナナ | 210 |
6 | 店舗C | さくらんぼ | 90 |
7 | 店舗C | さくらんぼ | 170 |
行\列 | E | F |
1 | 「りんご」かつ「価格が100円以上」 | =COUNTIFS(B2:B7, “りんご”, C2:C7, “>=100”) |
行\列 | E | F |
1 | 「りんご」かつ「価格が100円以上」 | 1 |
まとめ
今回は、設定した複数条件を満たしたセルの数のカウントを簡単に行うことができるExcelの「COUNTIFS関数」について解説しました。
COUNTIFS関数は、大量に存在するデータから複数の条件に合致するデータの数を探す際に便利な関数です。
データ分析を行う際は、特定の条件に合致するデータがどれだけ存在するかを知ることも大切です。COUNTIFS関数では、条件を複数設定し、組み合わせてデータ検索を行うことができる点が大きなメリットです。
ExcelのCountIf複数条件に関する重要用語
用語 | 説明 |
COUNTIF関数 | =COUNTIF(範囲, 検索条件)指定された条件を満たすセルがいくつ存在するのかを数えてくれる関数です。 |
COUNTIFS関数 | =COUNTIFS (条件範囲 1, 検索条件 1, [条件範囲 2, 検索条件 2],…)指定された複数の条件を満たすセルがいくつ存在するのかを数えてくれる関数です。 |
COUNTA関数 | =COUNTA(値 1, [値 2], …)指定した範囲内に存在する空白を除いたセルの数をカウントしてくれる関数です。 |
比較演算子 | 式や値の比較を行う際に用いられるキーワードや記号のことを指します。 比較演算子には、主に次のようなものがあります。「=」:等しい「<>」:等しくない「>」:より大きい「>=」:以上「<」:より小さい「<=」:以下上記比較演算子は、文字列や数値といったデータの比較の際に用いられます。また、文字列を比較する場合は、アルファベット順で比較が行われます。 |
ワイルドカード | 文字列の一部を表現するために用いられる特殊な文字のことを指します。検索や置換を行う際に用いられることが多く、パターンマッチングの際に便利です。 ワイルドカードには、主に次のようなものがあります。「?(クエスチョンマーク)」:任意の一文字と一致する。「*(アスタリスク)」:0文字以上の任意の文字列と一致する。 |