多くのデータの中から対象のデータが何件あるかを調べるときには、COUNTIF関数やCOUNTIFS関数を使うと便利です。
関数を使わずにデータを1件ずつ確認しながら数を数えることも可能ですが、データが多い場合は効率が悪くなってしまいます。
今回は件数を数えたいときに便利に使える「COUNTIF」と「COUNTIFS」の2つの関数についてご紹介します。
COUNTIF関数/COUNTIFS関数とは
COUNTIF関数やCOUNTIFS関数は、指定した範囲から条件に当てはまるセルを数える関数です。条件には数値だけでなく文字列を指定することも可能です。
この2つの関数は次のようなケースでよく使われています。
【COUNTIF/COUNTIFSを使うケース】
- 名簿から同じ地域に住む人を数える
- テスト結果から合格者数を数える
- 名簿から出席者を数える
- アンケートの評価ごとの数を数える
COUNTIF関数の使い方
COUNTIF関数やCOUNTIFS関数のそれぞれの構文と使用方法を紹介します。
【COUNTIF関数の構文】
=COUNTIF(範囲,条件)
範囲には数えたい値が入っているセルを直接入力するかセル番号をクリックして指定します。
見本の資格取得状況の表の例では、セルI3には次のような式が入りました。
=COUNTIF(B2:F13,”合格”)
数式を入力する方法は次の2つを参考にしてください。
【数式バーに直接入力する方法】

列番号の上にある数式バーをクリックし、「=COUNTIF(B2:F13,”合格”)」と入力します。文字以外はすべて半角で入力してください。
入力が終わったら、Enterキーを押すと「合格」の数が表示されます。
Point
COUNTIFやCOUNTIFS関数の条件に文字列や数式を使用する場合は、「”」(ダブルクオーテーション)で文字列や数式を囲みましょう。
【メニューバー「挿入」から操作する方法】
「挿入」―「関数」と進み、「数学」の「COUNTIF」を選択します。

文字や数字を探す表の範囲をドラッグで指定し、条件はセルを選択するか直接入力します。文字や数式を条件に使う場合は、ダブルクオーテーションで囲むのを忘れないようにしましょう。
Enterキーを押すと、合格者数が「6」人と表示されます。

COUNTIFS関数の使い方
COUNTIFS関数は、複数の条件にあてはまる件数を調べる関数です。基本的な使用方法はCOUNTIFと同様になります。
ここでは、条件に演算子を使って「~以上」「より大きい」といった条件を指定する方法を紹介します。
【COUNTIFS関数の構文】
=COUNTIFS(条件1の範囲,条件1,条件2の範囲,条件2)
さらに範囲と条件を追加して3つ以上の条件で絞り込むことも可能です。
【COUNTIFS関数の使い方】
見本のデータでは、セルI4に「不合格」「1次試験80点以上」という2つの条件を入力します。引数には次の内容を入力してください。
- 条件1の範囲:合否列のすべての値
- 条件1:文字列「”不合格”」
- 条件2の範囲:1次試験列のすべての値
- 条件2:数式「”>=80”」
=COUNTIFS(F3:F13,”不合格“,D3:D13,”>=80″)
Enterキーを押すと、「不合格で1次試験80点以上」が1人と表示されます。

Point:演算子について
COUNTIFやCOUNTIFSなどの引数には、「以上」や「より大きい」などの比較演算子を使って数式を作成する場合があります。
COUNTIFやCOUNTIFSの関数でよく使われる演算子をは次のようなものです。
| 演算子 | 意味 |
| = | ~と等しい |
| <> | ~と等しくない、~を除く |
| > | ~より大きい |
| < | ~より小さい |
| >= | ~以上 |
| <= | ~以下 |
応用…検索条件にワイルドカードを使う方法
COUNTIFやCOUNTIFSの関数では、ワイルドカードという機能を使ってあいまい検索ができます。
ワイルドカードは文字列のどこが一致しているかを指定するもので、一致するものの前後に「*」をつけます。
【ワイルドカード「*」の例】
| 検索方法 | 使用例 | 値の例 |
| 前方一致 | 新宿* | 新宿、新宿3丁目 |
| 後方一致 | *新宿 | 新宿、西新宿 |
| 部分一致 | *新宿* | 新宿、西新宿、新宿3丁目 |
見本のデータの例では、I6に東京の会場で受験した人の数を表示します。COUNTIF関数の条件にワイルドカードを使ってカウントしましょう。
「受験会場」列には「第1東京」「東京中央」「東京西」の3つの会場がありますが、数式の条件を「”東京”」と入力するだけではカウントされません。
I6には部分一致のワイルドカードを使用して以下のように入力します。
=COUNTIF(C3:C13,”*東京*”)
このままでもカウントできますが、この表ではI6の式をオートフィルでコピーしてI7とI8にも使用するため、I6の範囲を絶対参照にしておきましょう。
完成した式は次のものです。
=COUNTIF($C$3:$C$13,”*東京*”)
これで、I6に東京の前や後ろにその他の文字列が付いているセルの数を数えることができました。

次にI7とI8に式をオートフィルでコピーして、編集します。
I7は文字列の後ろが「東京」になっていることが条件になり、I8は文字列の前が「東京」になっていることが条件のため、それぞれワイルドカードの位置を変更します。
前方一致と後方一致でカウントされた結果が表示されました。

