COUNTIF関数-条件に合ったセルを数える-

エクセル関数
この記事は約6分で読めます。

スグにためセル! – ここを読めばすぐ使える

COUNTIF関数は、指定された範囲に含まれるセルのうち、検索条件に一致するセルの個数を数える関数です。

関数の構成:

=COUNTIF(範囲,検索条件)

各要素(引数)の説明
範囲 必須個数を数えたいセルの範囲を指定します。
検索条件 必須数える対象とする条件を文字列や数値、式で入力します。

対応バージョン:365 2019 2016 2013 2010 2007

※ より詳しい解説はここから下に続きます。

スポンサーリンク
スポンサーリンク

COUNTIF関数とは

COUNTIF関数は、指定された範囲に含まれるセルのうち、検索条件に一致するセルの個数を数える関数です。

1つ目の引数の範囲には、個数を数えたいセルの範囲を指定します。

2つ目の引数の検索条件には、数える対象とする条件を文字列や数値、式で入力します。

引数は両方とも省略することはできません。

COUNTIF関数の入力方法

それでは、COUNTIF関数の使い方を見ていきましょう。

指定した文字に一致するセルを数える

COUNTIF関数では、検索条件に様々な条件を入力することができますが、まずは、単純に指定した文字と一致するセルを数える方法です。

例えば、B2セルからB6セルの中で、「りんご」のセルだけを数えるには、次のように、第2引数の検索条件に文字列を入力します。

=COUNTIF(B2:B6,”りんご”)

簡単ですね。ただ、文字列を入力するときはダブルクオーテーション(”)で囲むということだけは忘れないようにしてください。

例えば、下の図の場合は、B2セル、B4セルに「りんご」が入力されていますので、答えは2となります。

指定した数値と同じセルを数える

次に、指定した数値と同じセルを数える場合です。

例えば、B2セルからB6セルの中で、100と入力されたセルだけを数えるには、次のように、第2引数の検索条件に数値を直接入力します。

=COUNTIF(B2:B6,100)

こちらも簡単ですね。文字を数えるときとは異なり、ダブルクオーテーション(”)は使わなくても構いません。

例として、下の図の場合は、B3セルとB5セルに100と入力されていますので、答えは2となります。

先ほど数値の場合はダブルクオーテーションは使わないと書きましたが、ダブルクオーテーションを使っていても、自動的に数値と判断して、指定した数値が数えられますのでご安心ください。まぁ、もっとも、わざわざダブルクオーテーションを入力するのはめんどくさいので、省略すると思いますが。

指定した数値より大きいまたは小さいセルを数える

次に、指定した数値よりも大きいセルまたは小さいセルを数えるには、次のように、第2引数の検索条件に条件式を入力します。

例として、B2セルからB6セルの中で50より大きいセルを数えてみます。

=COUNTIF(B2:B6,”>50″)

少し複雑になりましたね。

先ほど、数値の場合はダブルクオーテーションは不要と書きましたが、条件式を入力する場合は、ダブルクオーテーションが必要になります。

例として、下の図では50より大きいセルがB2セルとB4セル、B5セルにありますので、答えは3となります。

なお、上の図でB6セルは50となっていますが、今回は50よりも大きい数値を対象としているため、50と等しいこのセルは数える対象とはなりません。(50も含めた「50以上を数える方法」については、下の方でご紹介します。)

不等号(<・>)の位置は、必ず数値より前に書いてください。数値の右側に書いてしまうと正しく計算されません。

また、不等号の向きについて迷った場合は、第1引数の範囲との比較と考えるとわかりやすいかと思います。つまり、大きいセルを数えたい場合は、入力時に左にある「範囲」の方が大きくなってほしいので「>」となり、小さいセルを数えたい場合は、入力時に左にある「範囲」の方が小さくなってほしいので「<」となります。

指定した数値以上または以下のセルを数える

指定した数値を含めてそれよりも大きいセル、つまり、指定した数値以上のセルを数えるには、次のように入力します。(例えば、B2セルからB6セルの中で、50以上のセルを数える場合)

=COUNTIF(B2:B6,”>=50″)

以上ということは、それより大きいものとそれと等しいものという意味ですので、「>」と「=」になるのです。

同じく、指定した数値以下のセルを数える場合には、「<=」と入力します。

ちなみに、この、「>」と「=」の順番は入れ替えることはできません。つまり「=>」や「=<」と入力してしまうと、正しく計算されません。

例として、下の図は50以上のセルがB2セル、B4セル、B5セル、B6セルにありますので、答えは4となります。

指定した数値以外のセルを数える

指定した数値以外のセルを数えるには、次のように入力します。(例えば、B2セルからB6セルの中で、50以外のセルを数える場合)

=COUNTIF(B2:B6,”<>50″)

指定した数値以外ということは、その数値より大きい数値と小さい数値ということですので「<>」となるのです。ちなみにこの記号は入れ替えて「><」と入力しても問題ありません。

文字列では半角と全角は区別される

さて、ここからはCOUNTIF関数の性質や注意点についてご紹介しましょう。

文字列には全角と半角がありますが、COUNTIF関数ではそれらが区別がされて数えられます。

例えば、「Hello」と「Hello」は別のものとなりますので、COUNTIF関数で半角の「Hello」を数えた場合は、後者は数えられず答えは1となります。

数値を数える際の注意点

次に、数値を数える場合には、表示形式に注意しなければなりません。

表示形式は、セルに入力されたデータをどのように表示させるかを設定する機能のことです。

同じ「123456」という数字でも、「123456個」と表示させたり、コンマをつけて「123,456」と表示させたりすることができます。

どのような表示形式であっても、COUNTIF関数では元のデータを頼りに数えるかどうか判断します。

つまり、「100」という数値が表示形式により「100点」と表示されている場合でも、検索条件には「100」と入力しなければ数えられません。

文字列の数値にもご注意

数値データだけを数えるCOUNT関数では、文字列で入力された数値は数える対象になりませんが、COUNTIF関数では、文字列で入力された数値も数える対象になります。

つまり、数値の「100」も文字列の「100」も同じ「100」として数えられるのです。

文字列や数値データの違いについてはCOUNT関数のページをご覧ください。

また、文字列で入力された数値の場合は、全角の「100」であっても、半角の「100」であっても同じ「100」として数えられます。

表示形式によって丸められた数値にご注意

表示形式によって、100.1111という数値が100という風に切り捨てられて表示されることがあります。このように端数を切り捨てたり、切り上げたりすることを「丸める」と言ったりしますが、この丸められた数値には十分に注意しなければなりません。

例えば、下の図では、すべてのセルが100のように見えますが、COUNTIF関数の答えは0となっています。

これは、それぞれのセルの数値を小数点以下まで表示させてみると、ぴったり100ではないためです。

COUNTIF関数で数値を数える場合は、ぴったり一致していなければ数える対象となりません

このように、表示形式で小数点以下を丸めている場合は、数えた数字が合わないということにもなりますので、ご注意ください。

こんなときにためセル!

応用ワザ
エクセルで元データを並べ替えずに大きい順や小さい順のグラフを作成する方法
エクセルで数値の大きい順や小さい順にグラフを作成するには、グラフの元データを並べ替えればよいのですが、元データはいじりたくないという場合があります。 このような場合でも、順番に並んだグラフを作成する方法をご紹介します。
応用ワザ
エクセルで作業セルを使わずに重複しない順位を出す方法
エクセルではRANK関数を使って順位を求めることができますが、同じ数値がある場合は同じ順位となってしまいます。 このページでは、作業セルを使わずに重複のない順位を出す方法についてご紹介します。
エクセル関数
COUNTIF関数-条件に合ったセルを数える-
条件に合ったセルを数えるエクセル関数「COUNTIF」についてご紹介します。
意外と知らない小ワザ
エクセルで条件付き順位を出す方法 RANKIF関数はない?
条件を付けて順位を求めたい場合、RANKIF関数を使いそうですが、エクセルにはRANKIF関数はありません。しかし別の関数を応用することで、条件付きの条件を求めることができます。このページでは、条件付きで順位を求める方法をご紹介します。
意外と知らない小ワザ
エクセルで順位を求めるRANK関数はある別の関数で代用できる!
順位を求めるときに使用するRANK関数。実は、ある関数でも順位を求めることができるんです。 このページでは、ちょっとした小ネタとしてRANK関数の代わりになる関数をご紹介します。
タイトルとURLをコピーしました