No.011
条件を満たすセルの個数を数える 《COUNTIF》
2003/2007/2010/2013
セルの内容で、条件を満たすセルの個数を数えるというケースです。
条件付きの件数を求める場合、COUNTIF関数(分類: 統計)を利用します。
COUNTIF関数は、2つの引数を持ち、引数1つ目の[範囲]で指定したセル範囲の中から、2つ目の引数[検索条件]に指定した条件を満たすセルの個数を返します。
COUNTIF関数のポイントは、ズバリ条件の書き方です。
以下、大きく分けて3種類の条件設定でご案内します。
<完全一致条件>
例えば、A列のデータの中でセルに「●」がいくつあるかを数えたい場合は、次のような式となります。
=COUNTIF(A:A,"●")
この場合は、条件となっている「●」はセルの内容と完全一致した条件です。
完全一致条件は、そのまま引数に指定します。
文字列の条件の場合はその前後にダブルクォーテーションが必要ですが、数値が条件となる場合はそのまま指定します。
逆に「●」でないデータを数えたい場合は、不等号を使い「"<>●"」と指定します。
<部分一致条件>
部分一致条件の場合の書き方はワイルドカードを利用して書きます。
ワイルドカードとは、森さんだけど名前がわからないときに「森ナントカさん」といった場合のナントカにあてる代替え文字のことをいいます。
ワイルドカードでよく使用するのは、「*」アスタリスク、「?」疑問符です。
アスタリスクは0文字以上複数文字(全角半角問わず)、疑問符は1文字(全角半角問わず)として使用します。
ワイルドカードの使用例は以下をごらんください。
- Aから始まる …"A*"
- Aで終わる …"*A"
- Aを含む …"*A*"
- 全体3文字でAが2文字目 …"?A?"
- AとBを含む …"*A*B*"
- Aを含まない …"<>*A*"
1点注意点があります。
ワイルドカードを使用した条件は、文字列となります。
例えば、3が含まれる数値データの個数を探したいときに、条件で「"*3*"」とすると、条件の意味は「3を含む文字列」となり、数値データではヒットしません。
<大小の条件>
対象が数値データで、以上以下より大きいより小さいといった条件設定は次のとおりです。
- 8より小さい …"<8"
- 8より大きい …">8"
- 8以下 …"<=8"
- 8以上 …">=8"
引数[検索条件]で上記のような大小の条件の前後には、ダブルクォーテーションが付きます。
関数を手入力で設定するような場合は、ダブルクォーテーションも入力しなくてはいけませんので、ご注意ください。
ヘルプmemo
<COUNTIF関数 (統計関数)>
指定された範囲に含まれるセルのうち、条件に一致するセルの個数を返します。
数式: =COUNTIF(範囲, 検索条件)
引数:
範囲 …セルの個数を求める範囲を指定
検索条件 …条件となる数値、式、文字列を指定