COUNTIFS関数:複数の条件に一致するセルの個数を取得する
COUNTIFS 関数は Excel で用意されている関数の一つで、指定した複数の条件に一致するセルの個数を取得します。 COUNTIF 関数では設定できる条件は一つだけですが、 COUNTIFS 関数では複数の条件を満たすセルの個数を取得できます。ここでは Excel における COUNTIFS 関数の使い方について解説します。
※ Excel の対応バージョン : 365 web 2021 2019 2016 2013 2010
(Last modified: )
COUNTIFS関数の定義
COUNTIFS
関数は指定したセルの範囲の中から別途指定した複数の条件と一致したセルの個数を取得します。
1 番目の引数に条件と一致するかどうかを調べるセル範囲、 2 番目の引数に条件を指定します。複数の条件を設定する場合は条件範囲とそれに対する条件の組み合わせを必要な数だけ記述してください。
少し分かりにくいので例を使って解説します。次のシートを見てください。
例として住所が "東京都" と一致し、年齢が "25よりも大きい" セルの個数を取得する場合で考えてみます。 COUNTIF
関数の 1 番目の引数には 1 番目の条件と一致するかどうかを調べるセル範囲を指定します。今回は C3:C7 を指定します。
COUNTIF
関数の 2 番目の引数に最初の条件を記述します。今回はセルの値が "東京都" と一致するか調べます。値が一致するかどうか調べる場合は単に "東京都" と記述します。( "=東京都" のように =
演算子を使って記述しても同じです)。対象の範囲の中でこの条件と一致するセルは次の 3 つです。
今回は複数の条件を設定します。 COUNTIF
関数の 3 番目の引数には 2 番目の条件と一致するかどうかを調べるセル範囲を指定します。今回は D3:D7 を指定します。
COUNTIF
関数の 4 番目の引数に 2 番目の条件を記述します。今回はセルの値が 25 より大きいか調べます。条件は ">25" と記述します。対象の範囲の中でこの条件と一致するセルは次の 3 つです。
複数の条件を設定した場合は、どちらの条件にも一致するセルの個数を取得します。今回の場合、 2 つの条件に一致するセルは次の 2 つです。
よって COUNTIFS(C3:C7,"東京都",D3;D7,">25")
と実行した場合は結果として 2 を取得することができます。
演算子を使った条件の指定方法
COUNTIFS
関数では演算子を使って条件を指定することができます。セルの値が特定の値と一致するかどうか調べる場合は単に引数に値を記述するだけですが、数値の大きさを比較する場合には比較演算子を使って記述します。(使用できる演算子の詳細については「比較演算子と算術演算子の利用」を参照されてください)。
演算子 | 記述例 | 解説 |
---|---|---|
= | "=東京都" | "東京都"と等しい |
<> | "<>東京都" | "東京都"と等しくない |
> | ">10" | 10よりも大きい |
< | "<10" | 10よりも小さい |
>= | ">=10" | 10以上 |
<= | "<=10" | 10以下 |
引数で指定した範囲のセルの値が特定の値と一致しているセルをカウントする場合には "=値" と記述します。これは単に "値" と記述した場合と同じです。逆に特定の値と等しくないセルをカウントするには "<>値" と記述します。
またセルの値が数値の場合、数値の大きさの比較ができます。例えばセルの値が特定の数値よりも大きいセルをカウントする場合は ">値" と記述します。セルの値が特定の数値以下のセルをカウントする場合は "<=値" と記述します。
COUNTIFS関数の使い方
それでは実際に COUNTIFS
関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。
セルの個数を表示する D9 セルに次のような数式を入力しました。 COUNTIFS
関数の 1 番目の引数に最初の範囲として C3:C7 、 2 番目の引数に条件として "東京都" を指定します。 3 番目の引数に 2 つ目の範囲として D3:D7 、 4 番目の引数に条件として ">25" を指定します。
=COUNTIFS(C3:C7,"=東京都",D3:D7,">25")
Enter
キーを押すと D9 セルには次のように表示されます。
2 つの条件に同時に一致するセルの個数を取得し D9 セルに表示しました。
ワイルドカードを使用する
COUNTIFS
関数では検索条件のところで *
(アスタリスク)と ?
(クエスチョンマーク)の 2 つのワイルドカードを使用することができます。
ワイルドカードはそれぞれ次のような意味を持ちます。
? は任意の1文字
* は任意の数の文字列
?
は任意の 1 文字と一致します。例えば検索条件として "=A?" と指定した場合は "A" で始まりその後に任意の 1 文字が続く文字列と一致します。例えば "AB" や "A0" などです。
*
は任意の数の文字列と一致します。例えば検索条件として "=A*E" と指定した場合は "A" で始まりその後に任意の文字列が続いたあとに "E" と続く文字列と一致します。例えば "APPLE" や "A74E" などです。
例えば検索対象の住所が「東京都」などではなく「東京都中央区」などのように入力されている場合で考えてみます。
セルの個数を表示する D9 セルを選択し、次のように入力しました。 COUNTIFS
関数の 1 番目の引数に条件と一致するか調べる範囲として C3:C7 、 2 番目の引数に条件として "東京都" 、 3 番目の引数に条件と一致するか調べる範囲として D3:D7 、 4 番目の引数に条件として ">25"を指定します。
=COUNTIFS(C3:C7,"東京都",D3:D7,">25")
Enter
キーを押すと D9 セルには次のように 0 が表示されました。条件として "東京都" と記述した場合は "東京都" だけが記述されている場合にだけ一致するためです。
そこで COUNTIFS
関数の 2 番目の引数をワイルドカードを使って "東京都*" に変更します。この場合は "東京都" から始まってそのあとに任意の数の文字列が続く文字列と一致します。
=COUNTIFS(C3:C7,"東京都*",D3:D7,">25")
Enter
キーを押すと D9 セルには次のように 2 が表示されました。
このようにワイルドカードを使用することで、より柔軟な検索条件を記述することができます。
-- --
Excel における COUNTIFS 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。