Excel

【Excel】エクセルで条件ごとに集計(カウント:データ件数:複数条件:数量)する方法

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

Excelでデータを管理する際、条件に合致するデータの件数や数量を集計したい場面は数多くあります。

特定の条件を満たす顧客数、不良品の発生件数、期間内の注文数、複数条件を満たす在庫数など、条件ごとにデータをカウントして集計することは、現状把握や意思決定のための重要な分析手法です

しかし、単純なカウントだけでなく、複数の条件を組み合わせた集計、空白セルを除外した件数、重複を排除したユニークカウント、数値の合計ではなく件数だけを知りたい場合など、要件は様々です。

Excelには条件付きでデータをカウントする強力な関数群が用意されています。

COUNTIF関数による単一条件のカウント、COUNTIFS関数による複数条件のカウント、COUNTA関数による空白以外のカウント、SUMPRODUCT関数による複雑な条件の集計など、目的に応じて最適な方法が異なります。

本記事では、条件ごとにデータ件数を集計する基本的な方法から、複数条件を組み合わせた高度なカウント、数量の条件付き集計、ピボットテーブルによる柔軟なカウント分析まで、実務で即活用できる様々なテクニックを詳しく解説します。

データの傾向を数値で正確に把握したい方は、ぜひ最後までお読みください。

ポイントは

・COUNTIF関数で「=COUNTIF(範囲,条件)」と単一条件の件数をカウントできる

・COUNTIFS関数で「=COUNTIFS(条件範囲1,条件1,条件範囲2,条件2)」と複数条件のカウントが可能

・SUMPRODUCT関数で複雑な条件式による柔軟な集計ができる

です。

それでは詳しく見ていきましょう。

COUNTIF関数で単一条件のカウント

それではまず、一つの条件に合致するデータの件数をカウントする基本的な方法を確認していきます。

COUNTIF関数の基本構文と使い方

特定の条件を満たすセルの個数を数えたい場合、COUNTIF関数が最も基本的で使いやすい方法です

COUNTIF関数の構文は「=COUNTIF(範囲,検索条件)」となります。

「範囲」は検索対象のセル範囲、「検索条件」はカウントしたい条件です。

例えば、A列に商品名が入っているデータで、「りんご」が何件あるかを数える場合、「=COUNTIF(A:A,”りんご”)」と入力します。

この数式は、A列全体から「りんご」という文字列を探し、該当するセルの個数を返します。

A2、A5、A8に「りんご」が入っていれば、結果は3になります。

COUNTIF関数によるカウント

データ

りんご
みかん
りんご
バナナ
りんご

数式

=COUNTIF(A:A,”りんご”)

結果: 3

COUNTIF関数はSUMIF関数と似ていますが、合計ではなく個数を返す点が異なります。

データの存在確認、頻度の分析、在庫の種類数など、「いくつあるか」を知りたい場合に使用します。

A列(商品名) 数式 結果 意味
りんご =COUNTIF(A:A,”りんご”) 3 「りんご」が3件
みかん
りんご
バナナ
りんご

比較演算子を使った数値の条件

COUNTIF関数では、比較演算子を使って数値の条件を指定できます

「>」「=」「」などの演算子を条件に含めることで、特定の範囲や値に該当するセルをカウントできます。

例えば、B列に売上金額が入っているデータで、1000以上の取引件数を数える場合、「=COUNTIF(B:B,”>=1000″)」と入力します。

売上が500未満の件数なら「=COUNTIF(B:B,”=”&D1)」のように、&演算子で結合します。

数値条件によるカウント例

以上

=COUNTIF(B:B,”>=1000″)
1000以上の件数

未満

=COUNTIF(B:B,”
500未満の件数

不一致

=COUNTIF(A:A,”りんご”)
りんご以外の件数
条件 数式例 カウント対象
以上 =COUNTIF(B:B,”>=1000″) 1000以上の値
より大きい =COUNTIF(B:B,”>1000″) 1000より大きい値
未満 =COUNTIF(B:B,” 500未満の値
等しい =COUNTIF(B:B,0) 0の値
等しくない =COUNTIF(B:B,”0″) 0以外の値

ワイルドカードを使った部分一致カウント

文字列の部分一致でカウントしたい場合、ワイルドカードを使用します

アスタリスク(*)は任意の文字列、疑問符(?)は任意の1文字を表します。

例えば、「=COUNTIF(A:A,”*りんご*”)」とすれば、「青森りんご」「りんごジュース」「国産りんご」など、「りんご」を含むすべてのセルがカウントされます。

「=COUNTIF(A:A,”商品??”)」とすれば、「商品01」「商品AB」など、「商品」の後に2文字が続くセルがカウントされます。

特定の文字で始まるセルをカウントする場合は「=COUNTIF(A:A,”A*”)」、特定の文字で終わるセルをカウントする場合は「=COUNTIF(A:A,”*円”)」のように指定します。

ワイルドカードは、データの命名規則が統一されていない場合や、カテゴリをまとめてカウントしたい場合に便利です。

COUNTIF関数は、データの傾向を数値で把握するための基本的なツールです。

「何件あるか」という情報は、在庫管理、品質管理、顧客分析など、あらゆる業務で必要とされます。

SUMIF関数が「いくら」という金額や数量を集計するのに対し、COUNTIF関数は「いくつ」という件数を集計します。

例えば、不良品の発生件数、クレームの回数、特定商品の注文回数など、発生頻度を分析する際に非常に有用です。

ただし、COUNTIF関数は一つの条件しか指定できないため、複数の条件を組み合わせた集計には対応できません。

例えば、「商品がりんごで、かつ担当者が田中」という件数を数えたい場合は、後述するCOUNTIFS関数を使用する必要があります。

また、空白セルは自動的にカウントから除外されますが、空白に見えてもスペースや数式が入っている場合は注意が必要です。

COUNTIFS関数で複数条件のカウント

続いては、複数の条件を満たすデータの件数をカウントする方法を確認していきます。

COUNTIFS関数の基本構文

2つ以上の条件を満たすデータの件数をカウントしたい場合、COUNTIFS関数を使用します

COUNTIFS関数の構文は「=COUNTIFS(条件範囲1,条件1,条件範囲2,条件2,…)」となります。

条件範囲と条件のペアを複数指定することで、すべての条件を満たすセルの個数を返します。

例えば、A列に商品名、B列に担当者名が入っているデータで、「りんご」かつ「田中」の取引件数を数える場合、「=COUNTIFS(A:A,”りんご”,B:B,”田中”)」と入力します。

この数式は、A列が「りんご」でB列が「田中」という両方の条件を満たす行の個数を返します。

COUNTIFS関数の構造

条件1

A:A,”りんご”
商品名の条件

条件2

B:B,”田中”
担当者の条件
=

結果

両方を満たす
件数
A列(商品) B列(担当者) 数式 カウント対象
りんご 田中 =COUNTIFS(A:A,”りんご”,B:B,”田中”)
みかん 田中 ×
りんご 佐藤 ×
りんご 田中
バナナ 田中 ×

日付や数値の範囲を組み合わせる

COUNTIFS関数では、文字列の条件と数値・日付の条件を組み合わせることができます

例えば、2024年1月の「りんご」の取引件数を数える場合、「=COUNTIFS(A:A,”りんご”,C:C,”>=2024/1/1″,C:C,”=1000″)」となります。

同じ列に対して複数の条件を設定することで、範囲指定も可能です。

「=COUNTIFS(D:D,”>=500″,D:D,”

集計内容 数式例 商品と期間の組み合わせ =COUNTIFS(A:A,”りんご”,C:C,”>=2024/1/1″,C:C,” 商品と金額の組み合わせ =COUNTIFS(A:A,”りんご”,D:D,”>=1000″) 金額の範囲指定 =COUNTIFS(D:D,”>=500″,D:D,” 3つの条件 =COUNTIFS(A:A,”りんご”,B:B,”田中”,D:D,”>=1000″)

3つ以上の条件を指定する

COUNTIFS関数は、3つ、4つ、それ以上の条件も指定できます

条件範囲と条件のペアを追加していくだけで、複雑な集計が可能になります。

例えば、「商品が『りんご』、担当者が『田中』、売上が1000以上、日付が2024年1月」という4つの条件を満たすデータの件数を数える場合、「=COUNTIFS(A:A,”りんご”,B:B,”田中”,D:D,”>=1000″,C:C,”>=2024/1/1″,C:C,”

AND条件とOR条件

AND条件

COUNTIFS関数
すべての条件を
満たす件数

OR条件

複数の関数を足す
いずれかの条件を
満たす件数

COUNTIFS関数は、複雑な業務要件に対応できる強力な関数です。

複数の条件を組み合わせることで、非常に詳細な分析が可能になります。

例えば、特定の地域の特定の商品カテゴリで、特定の価格帯の取引が何件あったかという分析や、特定の期間に特定の担当者が処理した案件の中で、特定のステータスのものが何件あったかという分析ができます。

ただし、条件が増えるほど数式は長く複雑になり、計算負荷も高くなります。

非常に大量のデータ(数万行以上)で多数の条件を指定する場合は、計算速度が遅くなることがあります。

その場合は、ピボットテーブルの使用を検討するか、データを絞り込んでから関数を適用すると良いでしょう。

また、条件の記述ミスを防ぐため、複雑な条件は別のセルに条件値を入力し、セル参照で指定する方法も有効です。

COUNTA関数と空白以外のカウント

続いては、空白セルを除外してデータの件数をカウントする方法を確認していきます。

COUNTA関数で空白以外をカウント

空白ではないセル、つまり何らかのデータが入力されているセルの個数を数えたい場合、COUNTA関数を使用します

COUNTA関数の構文は「=COUNTA(値1,値2,…)」となり、指定した範囲内で空白でないセルの個数を返します。

例えば、A1からA10までの範囲で、データが入力されているセルの個数を数える場合、「=COUNTA(A1:A10)」と入力します。

この関数は、数値、文字列、論理値、エラー値など、あらゆる種類のデータをカウントします。

COUNTA関数は、回答が入力されたアンケートの件数、データが記録された日数、入力済みの項目数など、「入力されているかどうか」を判定したい場合に使用します。

逆に、空白セルの個数を数えたい場合は、「=COUNTBLANK(A1:A10)」というCOUNTBLANK関数を使用します。

関数 構文 カウント対象
COUNTA =COUNTA(範囲) 空白以外のセル
COUNT =COUNT(範囲) 数値が入っているセル
COUNTBLANK =COUNTBLANK(範囲) 空白のセル
COUNTIF =COUNTIF(範囲,条件) 条件を満たすセル

カウント関数の使い分け

COUNTA

何か入っている
セルの個数

COUNT

数値が入っている
セルの個数

COUNTBLANK

空白の
セルの個数

COUNT関数で数値のみをカウント

数値が入力されているセルだけをカウントしたい場合、COUNT関数を使用します

COUNT関数の構文は「=COUNT(値1,値2,…)」となり、指定した範囲内で数値が入っているセルの個数を返します。

文字列、論理値、エラー値は無視され、数値のみがカウントされます。

例えば、B列に売上金額が入っているが、一部のセルには「未入力」という文字列が入っている場合、「=COUNT(B:B)」とすれば、数値が入力されているセル(つまり売上が記録されている件数)だけがカウントされます。

この関数は、数値データの入力件数を確認する際や、データの欠損をチェックする際に便利です。

「=COUNTA(B:B)-COUNT(B:B)」とすれば、数値以外のデータ(文字列やエラー)が入っているセルの個数が分かります。

SUMPRODUCTで複雑な条件のカウント

より複雑な条件や、複数の条件をOR(または)で結合したカウントを行いたい場合、SUMPRODUCT関数を使用します

SUMPRODUCT関数は本来は配列の積を合計する関数ですが、条件式を使うことで柔軟なカウントが可能になります。

例えば、「=SUMPRODUCT((A:A=”りんご”)*(B:B=”田中”))」とすれば、COUNTIFS関数と同じ結果が得られます。

SUMPRODUCT関数の利点は、複数の条件をOR(または)で結合できることです。

「=SUMPRODUCT(((A:A=”りんご”)+(A:A=”みかん”))*(B:B=”田中”))」とすれば、「商品が『りんご』または『みかん』で、担当者が『田中』」という件数がカウントできます。

括弧と演算子を工夫することで、非常に複雑な条件式も表現できます。

空白以外のカウントは、データの入力状況を把握するために重要です。

アンケートの回答率、必須項目の入力率、データの完全性などを評価する際に使用します。

COUNTA関数とCOUNTBLANK関数を組み合わせることで、入力済みと未入力の比率を計算できます。

「=COUNTA(A:A)/(COUNTA(A:A)+COUNTBLANK(A:A))」で入力率が求められます。

ただし、空白に見えても実際にはスペースや数式の結果として空文字列(””)が入っている場合、これらは空白とは見なされず、COUNTA関数でカウントされてしまいます。

真の空白セルだけをカウントしたい場合は、COUNTBLANK関数を使用するか、数式や書式をクリアしてから集計する必要があります。

SUMPRODUCT関数は非常に強力ですが、大量のデータに対して使用すると計算が遅くなることがあるため、用途に応じて使い分けましょう。

まとめ エクセルで条件ごとに集計(カウント:データ件数:複数条件:数量)する方法

エクセルで条件ごとにカウント・集計する方法をまとめると

・COUNTIF関数による単一条件カウント:「=COUNTIF(範囲,検索条件)」で特定条件の件数、「=COUNTIF(A:A,”りんご”)」で「りんご」の個数、比較演算子「>=」「空白セル、スペースのみのセル、数式の結果が空文字列のセルなど、見た目は同じでも内部的には異なる状態があり、カウント結果に影響するため、データのクレンジングを事前に行うことが重要です。

Excelの条件ごとカウントテクニックを適切に活用して、正確で効率的なデータ分析を実現していきましょう!