Excelでデータ分析や集計作業を行う際、膨大なデータから必要な情報だけを抽出して計算したい場面は日常的に訪れます。
売上データから特定の商品の合計を算出したい、条件に合うデータの個数を数えたい、複数の条件を組み合わせて集計したい、これらを手作業で行うと時間がかかり、ミスも発生しやすく、データが更新されるたびに再計算する手間も膨大になってしまいます。
特に数千、数万行のデータを扱う場合、適切な関数を使わなければ実用的な集計は不可能です。条件が複雑になればなるほど、どの関数を使うべきか迷ってしまうこともあります。
Excelには、様々な条件でデータを集計するための関数が豊富に用意されています。
SUM、COUNT、AVERAGEなどの基本関数から、SUMIF、COUNTIF、SUMIFSなどの条件付き集計関数、さらにはIFと組み合わせた高度な集計まで、目的に応じて使い分けることができます。
本記事では、Excelの主要な集計関数を体系的に解説し、単一条件・複数条件での使い分け、別シートのデータを集計する方法、実務で頻出するパターンまで、網羅的に紹介します。
データ集計を効率化したい方は、ぜひ最後までお読みください。
ポイントは
・基本集計はSUM、COUNT、AVERAGEで条件なしの計算
・単一条件ならSUMIF、COUNTIF、AVERAGEIFを使用
・複数条件にはSUMIFS、COUNTIFS、AVERAGEIFSが必須
です。
それでは詳しく見ていきましょう。
目次
基本的な集計関数(条件なし)
それではまず、条件を指定せずに範囲全体を集計する基本関数を確認していきます。
SUM関数で合計を算出
SUM関数は、指定した範囲のすべての数値を合計する最も基本的な関数です。
構文は「=SUM(範囲)」または「=SUM(値1,値2,…)」という形式で、範囲内のすべての数値が加算されます。
例えば、B2からB10までの売上合計を求める場合、「=SUM(B2:B10)」と入力します。
SUM関数は、複数の範囲を同時に指定することもできます。
「=SUM(B2:B10,D2:D10)」と入力すれば、B列とD列の両方の合計が算出されます。
文字列や空白セルは自動的に無視され、数値だけが合計されるため、混在したデータでも安心して使用できます。
基本集計関数の役割
SUM
合計
売上合計など
COUNT
個数
データ件数など
AVERAGE
平均
平均点など
| 関数 | 構文 | 計算内容 | 使用例 |
|---|---|---|---|
| SUM | =SUM(B2:B10) | 合計 | 売上合計、数量合計 |
| COUNT | =COUNT(B2:B10) | 数値の個数 | データ入力済み件数 |
| COUNTA | =COUNTA(B2:B10) | 空白以外の個数 | 文字含む全データ件数 |
| AVERAGE | =AVERAGE(B2:B10) | 平均値 | 平均売上、平均点数 |
| MAX | =MAX(B2:B10) | 最大値 | 最高売上、最高点 |
| MIN | =MIN(B2:B10) | 最小値 | 最低売上、最低点 |
COUNT関数とCOUNTA関数でデータ個数を数える
COUNT関数は、指定した範囲内の数値が入力されているセルの個数を数えます。
「=COUNT(B2:B10)」と入力すれば、B2からB10の範囲で数値が入っているセルの個数が返されます。
文字列や空白セルはカウントされないため、純粋に数値データの件数を知りたい場合に使用します。
一方、COUNTA関数は、数値だけでなく文字列も含めて、空白以外のすべてのセルを数えます。
「=COUNTA(B2:B10)」とすれば、数値でも文字列でも、何か入力されているセルの個数が返されます。
名簿の人数を数える、アンケートの回答件数を集計するなど、データ型を問わずに件数を知りたい場合に便利です。
AVERAGE関数で平均値を算出
AVERAGE関数は、指定した範囲の数値の平均値を計算します。
「=AVERAGE(B2:B10)」と入力すれば、B2からB10までの数値の平均が算出されます。
空白セルや文字列は自動的に無視され、数値だけが平均計算の対象になります。
平均を求める際の分母は、実際に数値が入力されているセルの個数です。
例えば、10個のセルのうち8個に数値が入っていて2個が空白の場合、8個の数値の合計を8で割った値が平均となります。
テストの平均点、月別の平均売上、商品の平均単価など、様々な場面で使用される基本的な統計関数です。
基本集計関数は、条件を指定せずに範囲全体を集計するため、シンプルで使いやすい反面、柔軟性には限界があります。
例えば、「東京支店の売上だけを合計したい」「特定の商品のデータだけを数えたい」といった条件付きの集計には対応できません。
そのような場合は、次に説明する条件付き集計関数(SUMIF、COUNTIFなど)を使用する必要があります。
基本関数は、データ全体の概要を把握したり、条件なしの単純集計を行ったりする場合に使用し、条件付き集計には専用の関数を使うという使い分けが重要です。
また、これらの基本関数は他の関数と組み合わせることで、より複雑な計算も可能になります。
例えば、IF関数と組み合わせて条件分岐させたり、配列数式として使用したりすることで、応用範囲が広がります。
単一条件での集計関数(SUMIF、COUNTIF、AVERAGEIF)
続いては、一つの条件を指定してデータを集計する関数を確認していきます。
SUMIF関数で条件に合う値を合計
SUMIF関数は、指定した条件に合うセルだけを合計する関数です。
構文は「=SUMIF(範囲,条件,合計範囲)」で、「範囲」で条件を判定し、「合計範囲」の対応するセルを合計します。
例えば、A列に商品名、B列に売上金額があり、「りんご」の売上だけを合計したい場合、「=SUMIF(A2:A10,”りんご”,B2:B10)」と入力します。
条件には、文字列、数値、比較演算子を使った式などが指定できます。
「=SUMIF(B2:B10,”>=1000″)」とすれば、1000以上の値だけが合計されます。
セル参照も使用でき、「=SUMIF(A2:A10,D2,B2:B10)」とすればD2セルの値と一致する行だけが合計されます。
SUMIF関数の構造
範囲
(条件を判定)
条件
(何を探すか)
合計範囲
(何を合計するか)
| 条件の種類 | SUMIF数式例 | 意味 |
|---|---|---|
| 完全一致(文字列) | =SUMIF(A2:A10,”東京”,B2:B10) | 「東京」と完全一致する行を合計 |
| 完全一致(セル参照) | =SUMIF(A2:A10,D2,B2:B10) | D2セルの値と一致する行を合計 |
| 以上 | =SUMIF(B2:B10,”>=1000″) | 1000以上の値を合計 |
| 未満 | =SUMIF(B2:B10,” | 500未満の値を合計 |
| 不一致 | =SUMIF(A2:A10,”東京”,B2:B10) | 「東京」以外を合計 |
| 部分一致 | =SUMIF(A2:A10,”*りんご*”,B2:B10) | 「りんご」を含む行を合計 |
COUNTIF関数で条件に合うセルを数える
COUNTIF関数は、指定した条件に合うセルの個数を数えます。
構文は「=COUNTIF(範囲,条件)」で、SUMIF関数よりもシンプルです。
例えば、A列に都道府県名があり、「東京都」が何件あるかを数えたい場合、「=COUNTIF(A2:A100,”東京都”)」と入力します。
COUNTIF関数も、SUMIF関数と同様に様々な条件を指定できます。
「=COUNTIF(B2:B10,”>=80″)」とすれば、80以上の値が何個あるかを数えられます。
在庫数が一定以下の商品数、合格点以上の生徒数、特定地域の顧客数など、条件に合うデータの件数を知りたい場合に非常に便利です。
AVERAGEIF関数で条件に合う値の平均
AVERAGEIF関数は、条件に合うセルだけの平均値を計算します。
構文は「=AVERAGEIF(範囲,条件,平均範囲)」で、SUMIF関数と同じ構造です。
例えば、「東京支店」のデータだけの平均売上を求めたい場合、「=AVERAGEIF(A2:A10,”東京支店”,B2:B10)」と入力します。
この関数は、特定のカテゴリーやグループごとの平均を算出する際に威力を発揮します。
商品カテゴリー別の平均単価、部門別の平均残業時間、地域別の平均気温など、条件付きの平均値を簡単に求められます。
条件に合うデータが一つもない場合は、「#DIV/0!」エラーが表示されます。
単一条件の集計関数(SUMIF、COUNTIF、AVERAGEIF)は、実務で最も頻繁に使用される関数の一つです。
特に、カテゴリー別、支店別、商品別などの集計を行う際に不可欠です。
これらの関数を使いこなすポイントは、条件の指定方法を理解することです。
文字列を直接指定する場合はダブルクォーテーションで囲み、セル参照の場合はそのままセル番地を指定します。
比較演算子(>=、など)を使う場合は、演算子も含めてダブルクォーテーションで囲む必要があります。
ワイルドカード(*や?)を使えば、部分一致検索も可能で、より柔軟な条件指定ができます。
ただし、これらの関数は一つの条件しか指定できないため、「東京支店かつ商品Aの売上」のような複数条件が必要な場合は、次に説明するSUMIFS、COUNTIFS、AVERAGEIFSを使用する必要があります。
複数条件での集計関数(SUMIFS、COUNTIFS、AVERAGEIFS)
続いては、複数の条件を同時に指定できる高度な集計関数を確認していきます。
SUMIFS関数で複数条件に合う値を合計
SUMIFS関数は、複数の条件をすべて満たす行だけを合計する関数です。
構文は「=SUMIFS(合計範囲,条件範囲1,条件1,条件範囲2,条件2,…)」で、SUMIF関数とは引数の順序が異なる点に注意が必要です。
最初に合計範囲を指定し、その後に条件範囲と条件のペアを必要なだけ追加していきます。
例えば、「東京支店」かつ「りんご」の売上を合計したい場合、A列に支店名、B列に商品名、C列に売上金額があるとすると、「=SUMIFS(C2:C100,A2:A100,”東京支店”,B2:B100,”りんご”)」と入力します。
条件は最大127個まで指定でき、すべての条件を満たす行だけが合計されます(AND条件)。
SUMIFとSUMIFSの違い
SUMIF
引数順:範囲,条件,
合計範囲
1つの条件
SUMIFS
引数順:合計範囲,
条件範囲1,条件1…
複数の条件
| 条件数 | 関数 | 数式例 |
|---|---|---|
| 1つ | SUMIF | =SUMIF(A2:A10,”東京”,B2:B10) |
| 2つ | SUMIFS | =SUMIFS(C2:C10,A2:A10,”東京”,B2:B10,”りんご”) |
| 3つ | SUMIFS | =SUMIFS(D2:D10,A2:A10,”東京”,B2:B10,”りんご”,C2:C10,”>=1000″) |
COUNTIFS関数で複数条件に合うセルを数える
COUNTIFS関数は、複数の条件をすべて満たすセルの個数を数えます。
構文は「=COUNTIFS(条件範囲1,条件1,条件範囲2,条件2,…)」で、COUNTIFの複数条件版です。
例えば、「東京都」かつ「男性」の人数を数えたい場合、「=COUNTIFS(A2:A100,”東京都”,B2:B100,”男性”)」と入力します。
この関数は、アンケート集計や顧客分析などで非常に役立ちます。
「20代」かつ「東京在住」かつ「製品Aを購入」という3つの条件を満たす顧客数を数えることも、一つの関数で実現できます。
複雑な条件を組み合わせたクロス集計が簡単に行えます。
AVERAGEIFS関数で複数条件に合う値の平均
AVERAGEIFS関数は、複数の条件をすべて満たす値の平均を計算します。
構文は「=AVERAGEIFS(平均範囲,条件範囲1,条件1,条件範囲2,条件2,…)」で、SUMIFS関数と同じ構造です。
例えば、「東京支店」かつ「2024年」のデータだけの平均売上を求めたい場合に使用します。
「=AVERAGEIFS(C2:C100,A2:A100,”東京支店”,B2:B100,2024)」のように指定すれば、両方の条件を満たす行の平均が算出されます。
部門別・年代別の平均給与、商品カテゴリー別・地域別の平均単価など、詳細なセグメント分析が可能になります。
複数条件集計関数の使い分け
SUMIFS
合計を算出
COUNTIFS
件数を数える
AVERAGEIFS
平均を計算
複数条件集計関数(SUMIFS、COUNTIFS、AVERAGEIFS)は、データ分析の精度を大幅に向上させる強力なツールです。
これらの関数を使いこなすポイントは、条件範囲と合計範囲(または平均範囲)のサイズを揃えることです。
すべての範囲が同じ行数でなければ、正しく計算されません。
また、条件の指定方法も重要で、比較演算子を使う場合は「”>=1000″」のようにダブルクォーテーションで囲む必要があります。
セル参照と比較演算子を組み合わせたい場合は、「”>=”&D2」のように文字列結合演算子(&)を使用します。
複数条件はすべてAND条件(すべての条件を満たす)として機能するため、OR条件(いずれかの条件を満たす)を実現したい場合は、複数の関数を足し合わせるか、配列数式を使用する必要があります。
実務では、SUMIFS系の関数を使いこなせるかどうかが、データ分析スキルの重要な分岐点となります。
まとめ エクセルで集計の関数一覧!複数条件は?(if:countif:sumif?〇や別シート)
エクセルの集計関数をまとめると
・基本集計関数:SUM(合計)、COUNT(数値の個数)、COUNTA(空白以外の個数)、AVERAGE(平均)、MAX(最大値)、MIN(最小値)で条件なしの全体集計
・単一条件集計:SUMIF(条件付き合計)、COUNTIF(条件付きカウント)、AVERAGEIF(条件付き平均)で一つの条件を指定、構文は「=SUMIF(範囲,条件,合計範囲)」
・複数条件集計:SUMIFS(複数条件合計)、COUNTIFS(複数条件カウント)、AVERAGEIFS(複数条件平均)で複数条件のAND検索、構文は「=SUMIFS(合計範囲,条件範囲1,条件1,条件範囲2,条件2,…)」
これらの関数を目的に応じて使い分けることで、効率的なデータ集計が実現できます。
単純な全体集計には基本関数、カテゴリー別など一つの軸での集計にはIF系関数、詳細なクロス集計にはIFS系関数という使い分けが基本です。
ただし、関数だけで複雑な集計を実現しようとすると、数式が長く複雑になりすぎることがあります。
非常に複雑な集計が必要な場合は、ピボットテーブルやPower Queryなどの専用ツールの使用も検討することで、よりメンテナンス性の高いデータ分析が可能になります。
エクセルの集計関数を適切に活用して、効率的なデータ分析を実現していきましょう!