エクセル COUNTIF は条件に一致するセルを数えてカウント、複数、重複も (Excel 2013, 2016)

スポンサーリンク
Windows

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, "<>")

という(不自然に感じる)数式でも空白以外のセルを数えることができます。

 

 

コメント

  1. […] エクセル COUNTIF は条件に一致するセルを数えてカウント、複数、重複も (Ex… […]