COUNTIF関数:条件に一致するセルの個数を取得する

COUNTIF 関数は Excel で用意されている関数の一つで、指定した条件に一致するセルの個数を取得します。 COUNTIF 関数では設定できる条件は一つだけです。ここでは Excel における COUNTIF 関数の使い方について解説します。

※ Excel の対応バージョン : 365 web 2021 2019 2016 2013 2010 2007

(2021 年 09 月 06 日公開 / 2022 年 10 月 25 日更新)

COUNTIF関数の定義

COUNTIF 関数は指定したセルの範囲の中から別途指定した条件と一致したセルの個数を取得します。

COUNTIF(範囲,検索条件)

1 番目の引数に条件と一致するかどうかを調べるセル範囲、 2 番目の引数に条件を指定します。

少し分かりにくいので例を使って解説します。次のシートを見てください。

COUNTIF関数の定義(1)

COUNTIF 関数の 1 番目の引数には条件と一致するか調べるセル範囲を指定します。今回は C3:C7 を指定します。

COUNTIF関数の定義(2)

COUNTIF 関数の 2 番目の引数に条件を記述します。今回はセルの値が "東京都" と一致するか調べるため 2 番目の引数に "東京都" と記述します。( "=東京都" のように = 演算子を使って記述しても同じです)。対象の範囲の中でこの条件と一致するセルは次の 3 つです。

COUNTIF関数の定義(3)

よって COUNTIF(C3:C7,"東京都") と実行した場合は結果として 3 を取得することができます。

演算子を使った条件の指定方法

COUNTIF 関数の 2 番目の引数で指定する条件の指定方法です。セルの値が特定の値と一致するかどうか調べる場合は単に 2 番目の引数に値を記述するだけですが、数値の大きさを比較する場合には比較演算子を使って記述します。(使用できる演算子の詳細については「比較演算子と算術演算子の利用」を参照されてください)。

演算子記述例解説
="=東京都""東京都"と等しい
<>"<>東京都""東京都"と等しくない
>">10"10よりも大きい
<"<10"10よりも小さい
>=">=10"10以上
<="<=10"10以下

1 番目の引数で指定した範囲のセルの値が特定の値と一致しているセルをカウントする場合には "=値" と記述します。これは単に "値" と記述した場合と同じです。逆に特定の値と等しくないセルをカウントするには "<>値" と記述します。

またセルの値が数値の場合、数値の大きさの比較ができます。例えばセルの値が特定の数値よりも大きいセルをカウントする場合は ">値" と記述します。セルの値が特定の数値以下のセルをカウントする場合は "<=値" と記述します。

COUNTIF関数の使い方

それでは実際に COUNTIF 関数を使ってみます。次のシートを見てください。

COUNTIF関数の使い方(1)

最初に住所が "東京都" と一致するセルの個数を表示する D9 セルに次のような数式を入力しました。 COUNTIF 関数の 1 番目の引数に条件と一致するか調べる範囲として C3:C7 、 2 番目の引数に条件として "東京都" を指定します。

=COUNTIF(C3:C7,"東京都")

COUNTIF関数の使い方(2)

Enter キーを押すと D9 セルには次のように表示されます。

COUNTIF関数の使い方(3)

セル範囲 C3:C7 の中でセルの値が "東京都" と一致しているセルの個数を取得し D9 セルに表示しました。

次に年齢が "25歳以上" のセルの個数を表示する D10 セルに次のような数式を入力しました。範囲として D3:D7 、 2 番目の引数に条件として ">=25" を指定しました。

=COUNTIF(D3:D7,">=25")

COUNTIF関数の使い方(4)

Enter キーを押すと D10 セルには次のように表示されます。

COUNTIF関数の使い方(5)

セル範囲 D3:D7 の中でセルの値が ">=25" と一致しているセルの個数を取得し D10 セルに表示しました。

COUNTIF関数でワイルドカードを使用する

COUNTIF 関数では検索条件で * (アスタリスク)と ? (クエスチョンマーク)の 2 つのワイルドカードを使用することができます。

ワイルドカードはそれぞれ次のような意味を持ちます。

? は任意の1文字
* は任意の数の文字列

? は任意の 1 文字と一致します。例えば検索条件として "A?" と指定した場合は "A" で始まりその後に任意の 1 文字が続く文字列と一致します。例えば "AB" や "A0" などです。

* は任意の数の文字列と一致します。例えば検索条件として "A*E" と指定した場合は "A" で始まりその後に任意の文字列が続いたあとに "E" と続く文字列と一致します。例えば "APPLE" や "A74E" などです。

例えば検索対象の住所が「東京都」などではなく「東京都中央区」などのように入力されている場合で考えてみます。

COUNTIF関数でワイルドカードを使用する(1)

セルの個数を表示する D9 セルに次のように数式を入力しました。

=COUNTIF(C3:C7,"東京都")

COUNTIF関数でワイルドカードを使用する(2)

Enter キーを押すと、 E9 セルには次のように 0 が表示されました。条件として "東京都" と記述した場合は "東京都" だけが記述されている場合にだけ一致するためです。

COUNTIF関数でワイルドカードを使用する(3)

そこで COUNTIF 関数の 2 番目の引数をワイルドカードを使って "東京都*" に変更します。この場合は "東京都" から始まってそのあとに任意の数の文字列が続く文字列と一致します。

=COUNTIF(C3:C7,"東京都*")

COUNTIF関数でワイルドカードを使用する(4)

Enter キーを押すと E9 セルには次のように 3 が表示されました。

COUNTIF関数でワイルドカードを使用する(5)

このようにワイルドカードを使用することで、より柔軟な検索条件を記述することができます。

COUNTIF関数の便利な利用方法

COUNTIF 関数の便利な利用方法を下記の記事で紹介しています。

-- --

Excel における COUNTIF 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。