Excelの表の中から、「特定の値を持つ行を数えたい」など、ある条件を満たす行を数えるときには、「COUNTIF」関数が使えます。
このページでは、COUNTIF関数、および派生形としてCOUNTIFS関数の使い方を説明します。
Contents
COUNTIF関数はこのようなときに使う
今回は、このような表を例にします。「それぞれの果物を買った回数を調べたい」ものとします。
単純に、「りんごを買った回数」「みかんを買った回数」が知りたいだけなら、フィルター機能を使えばOKです。りんごを買った回数は6回です。
ただし、フィルター機能には、「数えたいものが多いときには面倒」というデメリットがあります。例えば、今回は果物が4種類しかありませんが、100種類の果物の購入回数を調べたいときには、1つずつフィルターをかけるのは面倒ですね。
COUNTIF関数を使えば、このように一瞬で表すことができます。
COUNTIF関数の使い方
COUNTIF関数は、このように書きます。
=COUNTIF(個数を数えたい対象の列, “条件”)
以下の表の例で、”りんご”を数えたい場合は、=COUNTIF(H:H,A2)
まずは、「りんごを買った回数」を数えます。言い換えると、右側の表のうち、「りんご」が表示されている行の数を数える、ということです。
「りんご」はH列にあるので、今回の「個数の対象を数えたい列」はH列になります。「H列が条件に当てはまるかどうかを見る」、ということです。
「H2:H18」と指定してあげてもいいですが、面倒ならば「H:H」でOKです。
次に、「個数の対象を数えたい列(今回はH列)」が満たすべき条件を設定します。今回満たすべき値は”りんご”なので、条件部分は”りんご”とします。
条件部分は「セルの値の参照」でもOKです。”りんご”と書くよりは、りんごという値が入っているセル(今回の場合はA2セル)をしていしてあげると楽です。
条件部分のセルを相対参照にすると、コピペするだけでほかの果物もすべて数えられます。
みかん:=COUNTIF(H:H,A3)
バナナ:=COUNTIF(H:H,A4)
ぶどう:=COUNTIF(H:H,A5)
Excelの関数では「相対参照」「絶対参照」が頻出します。マスターできていない方は以下の記事で復習を!
COUNTIFS関数の使い方
COUNTIF関数では、「条件は1つしか指定できない」という欠点があります。例えば、「りんごを購入した回数」と「4月に購入した回数」を同時に指定して、「りんごを4月に購入した回数」を数えることは、COUNTIF関数ではできません。
この欠点を解消して、同時に複数の条件を設定できるようになった関数が、COUNTIFS関数です。
※名称の違いは、後ろにSがついているかどうかしか違いがありません。
関数の書き方は以下の通りです。
=COUNTIFS(個数を数えたい対象の列1, “条件1”, 個数を数えたい対象の列2, “条件2”, …)
好きな数だけ条件を設定できます。もちろん1つだけでもOKです。
以下の表の例で、”4月に購入した”、”りんご”を数えたい場合は、=COUNTIFS(H:H,A2,F:F,”4″)
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関数の条件には、「一致する」だけではなく、「~以上(以下/未満/より小さい)」を設定することもできます。
設定の仕方は次の通りです。セルを参照しない場合(数字を直接書く場合)と、セルを参照する場合で書き方が若干異なります。
・数字を直接書く場合:
不等号と数字をダブルクォーテーションで囲む。
例:「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セルでエラーが発生しています。
関数の書き方も参照範囲も、一見問題ないように見えます。
原因は、条件指定列の「H:H」と、「F2:F21」です。COUNTIFS関数では、条件の対象列を同じ長さにする必要があります。
この場合は、「H:H→H2:H21」もしくは「F2:F21→F:F」に修正すると、エラーが解消されます。