COUNTIF 関数 (統計関数の1つ) は、1つの検索条件に一致するセルの個数を返します。
たとえば、特定の市が顧客リストに表示される回数を返します。
最も単純な形式では、COUNTIF は次のように指定します。
= COUNTIF(どこを参照しますか?, 何を探しますか?)
こんな感じで使います。
=COUNTIF(A2:A5,"London")
=COUNTIF(A2:A5,A4)
COUNTIF関数を使うと、特定の文字が入ったセルのみを数えることが出来て、めっちゃ便利なんですよ。
エクセル COUNTIF カウントの範囲?複数範囲?
COUNTIF の使い方を見てみましょう。
以下のデータがあったとします。
データ | データ |
---|---|
リンゴ | 32 |
オレンジ | 54 |
モモ | 75 |
リンゴ | 86 |
COUNTIFの使い方は、次の通りです。
数式 | 説明 |
---|---|
=COUNTIF(A2:A5,"リンゴ") |
セル範囲 A2 ~ A5 に含まれるセルのうち、"リンゴ" と入力されているセルの個数を求めます。結果は 2 です。 |
=COUNTIF(A2:A5,A4) | セル範囲 A2 ~ A5 に含まれるセルのうち、"モモ" (A4 の値) と入力されているセルの個数を求めます。結果は 1 です。 |
=COUNTIF(A2:A5,A2)+ COUNTIF(A2:A5,A3) |
セル範囲 A2 ~ A5 に含まれるセルのうち、"リンゴ" (A2 の値) と "オレンジ" (A3 の値) の数を求めます。結果は 3 になります。この数式では COUNTIF を 2 回使用し、複数の基準を指定します。式につき 1 つの基準です。COUNTIFS 関数を使用することもできます。 |
=COUNTIF(B2:B5,">55") | セル範囲 B2 ~ B5 に含まれるセルのうち、55 より大きい値が入力されているセルの個数を求めます。結果は 2 です。 |
=COUNTIF(B2:B5,"<>"&B4) | セル範囲 B2 ~ B5 に含まれるセルのうち、75 以外の値が入力されているセルの個数を求めます。アンパサンド (&) で、比較演算子 "<>" (等しくない) と B4 内の値が結合されています。つまり =COUNTIF(B2:B5,"<>75") と同じ意味になります。結果は 3 です。 |
=COUNTIF(B2:B5,">=32")-COUNTIF(B2:B5,">85") | セル範囲 B2 ~ B5 に含まれるセルのうち、32 以上 85 以下の値が入力されているセルの個数を求めます。結果は 3 です。 |
=COUNTIF(A2:A5,"*") | セル範囲 A2 ~ A5 に含まれるセルのうち、任意のテキストが入力されているセルの個数を求めます。ワイルドカード文字 (*) は、任意の文字列を表します。結果は 4 です。 |
=COUNTIF(A2:A5,"??ゴ") |
セル範囲 A2 ~ A5 に含まれるセルのうち、文字 "ゴ" で終わるちょうど 7 文字が入力されているセルの個数を求めます。ワイルドカード文字 (?) は、任意の 1 文字を表します。結果は 2 です。 |
エクセル COUNTIF 重複をカウント
COUNTIFを使った応用問題です。
エクセルで列内から複数の特定の文字列(セル)をカウントしたいのですが、どういった関数にすればよいでしょうか?
例えばA列内に
セル | データ |
---|---|
A1 | 月曜 |
A2 | 火曜 |
A3 | 月曜 |
A4 | 水曜 |
A5 | 火曜 |
A6 | 月曜 |
A7 | 水曜 |
A8 | 木曜 |
A9 | 月曜 |
という文字列があったとします。
この中から月曜と火曜の数だけカウントしたいのですが、関数等を使ってカウントすることはできるでしょうか?
重複があっても、こんな感じでカウントすることが出来ます。
=SUM(COUNTIF(A1:A9,{"月曜","火曜"}))
または
=COUNTIF(A1:A9,"月曜")+COUNTIF(A1:A9,"火曜")
でOKです。
COUNTIF関数で空白以外のセルをカウントする
COUNTIFで、空白以外のセルをカウントするにはどうすればよいでしょうか?
「countif 空白のセルを除く」
「エクセル countif 空白以外」
「excel countif ブランクでないもの」
といった同じような問い合わせもあります。
COUNTIF関数で、完全に空白以外のセルをカウントするには、次のように引数を指定します。
※A1:A10セルに何らかの文字が入力されているセルの個数をC1セルに表示する例
C1セルに
=COUNTIF(A1:A10, "<>")
または
=COUNTIF(A1:A10, "<>" & "")
という数式を入力する
Excelで「<>」は、等しくない・ノットイコール「≠」という意味です。
ゆえに「"<>" & ""」は、「""」空白ではないという意味になります。
「"<>" & ""」と書くほうが空白ではないという意味がよく伝わるはずですが、「""」という空白文字列を文字列連結演算子「&」でつないでいるだけなので、COUNTIF関数の第2引数に「<>」をダブルクォーテーション「"」で括った
=COUNTIF(A1:A10, "<>")
という(不自然に感じる)数式でも空白以外のセルを数えることができます。
コメント
[…] エクセル COUNTIF は条件に一致するセルを数えてカウント、複数、重複も (Ex… […]