COUNTIFS関数で複数条件のデータを数える方法【高校情報対応】

COUNTIFS関数で複数条件のデータを数える方法【高校情報対応】 情報通信ネットワークとデータの活用

「区分がAで、かつ年が2023年以上のデータは何件あるか」——このように複数の条件を同時に満たすデータの件数を数えたいとき、単純なCOUNTIF関数では対応できません。こういうときに使うのがCOUNTIFS関数です。

この記事では、COUNTIFS関数の書き方と、条件を複数指定するときの注意点をわかりやすく解説します。

COUNTIFS関数とは

COUNTIFS関数は、複数の条件をすべて満たす行の数を数える関数です。「COUNT(数える)」「IF(条件)」「S(複数)」という名前の通り、条件をいくつでも追加できます。

1つの条件だけで数えたい場合はCOUNTIF関数(Sなし)を使いますが、条件が2つ以上になる場合はCOUNTIFS関数を使う、と覚えておきましょう。

COUNTIFS関数の書き方

COUNTIFS関数は次のように書きます。条件範囲と条件のペアを、必要な数だけ繰り返して指定します。

=COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, …)

引数意味
条件範囲11つ目の条件を判定する対象の範囲
条件1条件範囲1に対して判定する条件
条件範囲2, 条件2…2つ目以降の条件範囲と条件(同じ形式で追加していく)

すべての条件範囲は同じ行数(同じ表)を指定する必要があります。条件範囲1で3行目のデータを見ているのに、条件範囲2で4行目のデータを見てしまう、といったズレがあると正しく数えられません。

具体例

次のような販売データがあるとします(F列が年、G列が区分)。

F(年)G(区分)
1区分
22022A
32023B
42023A
52024A

「区分がA」かつ「年が2023以上」のデータの件数を数えたい場合、数式は次のようになります。

=COUNTIFS($G$2:$G$5, "A", $F$2:$F$5, ">=2023")

この例では、4行目(2023・A)と5行目(2024・A)が条件を満たすため、結果は2になります。2行目は年が条件を満たさず、3行目は区分が条件を満たさないため数えられません。

複数のセルにコピーして使う場合

区分ごとの集計表を作り、この数式を他の区分の行にもコピーして使いたい場合は、条件範囲($G$2:$G$5$F$2:$F$5)を絶対参照にしておく必要があります。一方、条件として指定するセル(区分名が入ったセルなど)は、コピー先に合わせて変えたいので相対参照のままにします。参照の使い分けに自信がない人は、先に参照の記事を読んでおくとスムーズです。

条件の書き方のポイント

  • 文字列を条件にする場合は"A"のようにダブルクォーテーションで囲む
  • 数値の比較(以上・以下・より大きい・より小さい)を条件にする場合は">=2023"のように、比較演算子と数値をまとめて文字列として指定する
  • 特定のセルの値を条件にする場合は、そのセルを直接指定できる(例:K2)。この場合、K2セルの中に比較演算子を含めて">=2023"のように入力しておく方法もある

よくある間違い

  • 条件範囲ごとに指定する行数がズレている(例:条件範囲1は2〜5行目なのに、条件範囲2は2〜6行目になっている)
  • 数値の比較条件を、ダブルクォーテーションで囲まずに書いてしまう(>=2023ではなく">=2023"と書く必要がある)
  • 条件範囲を相対参照のままコピーしてしまい、集計対象の範囲がずれて正しい件数が出なくなる
  • COUNTIFS(複数条件)とCOUNTIF(単一条件)を混同し、条件が1つしかないのにCOUNTIFSの書き方をしようとして引数の数を間違える

まとめ

COUNTIFS関数は、条件範囲と条件のペアを必要な数だけ並べるだけで、複数条件の集計ができる便利な関数です。すべての条件範囲を同じ行数・絶対参照で指定することを意識すれば、大きなミスは防げます。

以前紹介した「Excel演習ドリル」では、COUNTIFS関数を実際にコピーしたときの計算結果を、データを見ながら自分で数える問題を用意しています。この記事を読んだあとにぜひ挑戦してみてください。

Excel関数の確認ドリル記事はこちら

参照の考え方があやふやな人は、先にこちらの記事もあわせてご覧ください。

Excelの相対参照・絶対参照の違いとは?$マークの意味をわかりやすく解説

次は、データに順位をつけるRANK.EQ関数を解説していきます。

コメント

タイトルとURLをコピーしました