Excelの表の中から、「特定の値を持つ行を数えたい」など、ある条件を満たす行を数えるときには、「COUNTIF」関数が使えます。

このページでは、COUNTIF関数、および派生形としてCOUNTIFS関数の使い方を説明します。

COUNTIF関数はこのようなときに使う

countif関数はこのようなときに使おう

今回は、このような表を例にします。「それぞれの果物を買った回数を調べたい」ものとします。

単純に、「りんごを買った回数」「みかんを買った回数」が知りたいだけなら、フィルター機能を使えばOKです。りんごを買った回数は6回です。

フィルター機能で条件を満たす行を数える

ただし、フィルター機能には、「数えたいものが多いときには面倒」というデメリットがあります。例えば、今回は果物が4種類しかありませんが、100種類の果物の購入回数を調べたいときには、1つずつフィルターをかけるのは面倒ですね。

COUNTIF関数を使えば、このように一瞬で表すことができます。

countif関数を使って表を作成

COUNTIF関数の使い方

COUNTIF関数は、このように書きます。

=COUNTIF(個数を数えたい対象の列, “条件”)

以下の表の例で、”りんご”を数えたい場合は、=COUNTIF(H:H,A2)

COUNTIF関数の使い方

まずは、「りんごを買った回数」を数えます。言い換えると、右側の表のうち、「りんご」が表示されている行の数を数える、ということです。

「りんご」はH列にあるので、今回の「個数の対象を数えたい列」はH列になります。「H列が条件に当てはまるかどうかを見る」、ということです。

「H2:H18」と指定してあげてもいいですが、面倒ならば「H:H」でOKです。

次に、「個数の対象を数えたい列(今回はH列)」が満たすべき条件を設定します。今回満たすべき値は”りんご”なので、条件部分は”りんご”とします。

条件部分は「セルの値の参照」でもOKです。”りんご”と書くよりは、りんごという値が入っているセル(今回の場合はA2セル)をしていしてあげると楽です。

条件部分のセルを相対参照にすると、コピペするだけでほかの果物もすべて数えられます。

countif関数を使って表を作成

みかん:=COUNTIF(H:H,A3)

バナナ:=COUNTIF(H:H,A4)

ぶどう:=COUNTIF(H:H,A5)

相対参照、絶対参照はこちら

COUNTIFS関数の使い方

COUNTIF関数では、「条件は1つしか指定できない」という欠点があります。例えば、「りんごを購入した回数」と「4月に購入した回数」を同時に指定して、「りんごを4月に購入した回数」を数えることは、COUNTIF関数ではできません。

この欠点を解消して、同時に複数の条件を設定できるようになった関数が、COUNTIFS関数です。

※名称の違いは、後ろにSがついているかどうかしか違いがありません。

関数の書き方は以下の通りです。

=COUNTIFS(個数を数えたい対象の列1, “条件1”, 個数を数えたい対象の列2, “条件2”, …)

好きな数だけ条件を設定できます。もちろん1つだけでもOKです。

以下の表の例で、”4月に購入した”、”りんご”を数えたい場合は、=COUNTIFS(H:H,A2,F:F,”4″)

COUNTIFS関数の使い方

H:H,A2の部分はCOUNTIFと同様です。「H列がりんごであること」を条件にします。“りんご”と直接入力するのではなく、セルを相対参照で参照して、みかんやバナナの列にコピペします。

F:F,”4″の部分は、「購入月が4月であること」を表しています。右側の表で、月はF列に記載されています。「F列が4月である」という条件を設定します。

なお、COUNTIFSの条件は、すべて満たす必要があります。「条件1もしくは条件2のどちらかを満たす」という設定はできません。

COUNTIF, COUNTIFS関数の注意点

COUNTIF関数、COUNTIFS関数の注意点を2つ紹介します。

COUNTIF関数、COUNTIFS関数の注意点

  • 「~以上(以下/未満/より大きい)」の表し方
  • 条件列の指定方法

    COUNTIF、COUNTIFS関数における、「~以上(以下/未満/より小さい)」の表し方

    「~以上(以下/未満/より小さい)」の表し方(COUNTIF、COUNTIFS共通)

    COUNTIF、COUNTIFS関数の条件には、「一致する」だけではなく、「~以上(以下/未満/より小さい)」を設定することもできます。

    COUNTIF関数の条件設定の仕方

    設定の仕方は次の通りです。セルを参照しない場合(数字を直接書く場合)と、セルを参照する場合で書き方が若干異なります。

    ・数字を直接書く場合:

    不等号と数字をダブルクォーテーションで囲む。

    例:「F列が4以上」と設定する場合
    F:F, “>=4”

    同様に、「4以下」「4より大きい」「4未満」の表し方は次の通りです。

        • 4以下:”<=4″
        • 4より大きい:”>4″
        • 4未満:”<4″

    ・数字を、他のセルから参照する場合:

    不等号のみダブルクォーテーションで囲み、ダブルクォーテーションで囲んだ不等号と、セル番号を&でつなげる。

    例:「F列が『A2の値以上』と設定する場合」
    F:F, “>=”&A2

    同様に、「以下」「より大きい」「未満」の表し方は次の通りです。

        • A2の値以下:”<=”&A2
        • A2の値より大きい:”>”&A2
        • A2の値未満:”<“&A2

    なお、「○○以上××以下」を1つの条件で設定することはできません。

    「F列が4以上8以下」を設定したい場合は、「=COUNTIFS(F:F, “>=4”, F:F, “<=8”)」と2つの条件に分けて設定する必要があります。

    COUNTIFS関数でエラーが起こる場合は、条件列の見直しを!

    条件列の指定方法(COUNTIFSの場合)

    下の表では、C2セルでエラーが発生しています。

    COUNTIFSのエラー

    関数の書き方も参照範囲も、一見問題ないように見えます。

    COUNTIFS関数でエラーが発生する場合の参照範囲

    原因は、条件指定列の「H:H」と、「F2:F21」です。COUNTIFS関数では、条件の対象列を同じ長さにする必要があります。

    この場合は、「H:H→H2:H21」もしくは「F2:F21→F:F」に修正すると、エラーが解消されます。

    COUNTIFS関数のエラー解消