Excelでデータを管理していると、項目ごとに集計して分析したい場面は非常に頻繁に訪れます。
商品別の売上合計、担当者ごとの実績、部署別の予算消化率、期間ごとの集計など、大量のデータを項目ごとに分類して集計することで、全体の傾向や個別のパフォーマンスを正確に把握できます。
しかし、単純な合計だけでなく、複数の条件を組み合わせた集計や、階層的な小計の作成、名前ごとの詳細な分析など、要件が複雑になると、どの関数や機能を使えば良いのか迷うことも多いでしょう。
Excelには項目ごとの集計を行うための強力な機能が多数用意されています。
SUMIF関数による単一条件の集計、SUMIFS関数による複数条件の集計、ピボットテーブルによる柔軟な分析、小計機能による自動集計など、目的や状況に応じて最適な方法が異なります。
本記事では、項目ごとに集計する基本的な方法から、複数条件を組み合わせた高度な集計、名前ごとの詳細分析、階層的な小計の作成まで、実務で即活用できる様々なテクニックを詳しく解説します。
データ分析の効率を大幅に向上させたい方は、ぜひ最後までお読みください。
ポイントは
・SUMIF関数で「=SUMIF(範囲,条件,合計範囲)」と単一条件の集計ができる
・SUMIFS関数で「=SUMIFS(合計範囲,条件範囲1,条件1,条件範囲2,条件2)」と複数条件の集計が可能
・ピボットテーブルを使えばドラッグ操作だけで柔軟な項目ごと集計ができる
です。
それでは詳しく見ていきましょう。
SUMIF関数で単一条件の項目ごと集計
それではまず、一つの条件で項目ごとに集計する基本的な方法を確認していきます。
SUMIF関数の基本構文と使い方
特定の項目に該当するデータだけを合計したい場合、SUMIF関数が最も基本的で使いやすい方法です。
SUMIF関数の構文は「=SUMIF(範囲,検索条件,合計範囲)」となります。
「範囲」は条件を判定するセル範囲、「検索条件」は合計したい項目の条件、「合計範囲」は実際に合計する数値が入っているセル範囲です。
例えば、A列に商品名、B列に売上金額が入っているデータで、「りんご」の売上合計を求める場合、「=SUMIF(A:A,”りんご”,B:B)」と入力します。
この数式は、A列全体から「りんご」という文字列を探し、該当する行のB列の値を合計します。
A2に「りんご」、B2に100、A5に「りんご」、B5に150が入っていれば、結果は250になります。
SUMIF関数の構造
範囲
(商品名列)
条件判定
検索条件
(探す項目)
一致判定
合計範囲
(売上列)
合計対象
| A列(商品名) | B列(売上) | 数式 | 結果 |
|---|---|---|---|
| りんご | 100 | =SUMIF(A:A,”りんご”,B:B) | 250 |
| みかん | 80 | ||
| りんご | 150 | ||
| バナナ | 120 | ||
| みかん | 90 |
セル参照を使った動的な集計
検索条件を直接文字列で指定する代わりに、セル参照を使うと、柔軟な集計表が作成できます。
例えば、D1セルに集計したい商品名を入力し、E1セルに「=SUMIF(A:A,D1,B:B)」という数式を入力すれば、D1の内容に応じて集計結果が自動的に変わります。
D1に「りんご」と入力すれば「りんご」の合計、「みかん」と入力すれば「みかん」の合計が表示されます。
この方法を使えば、複数の項目の集計表を一度に作成できます。
D列に集計したい項目名を縦に並べ、E列に対応するSUMIF関数を入力すれば、各項目の合計が自動的に計算されます。
D1に「りんご」、D2に「みかん」、D3に「バナナ」と入力し、E1に「=SUMIF($A:$A,D1,$B:$B)」と入力してE3までコピーすれば、全商品の合計が一覧表示されます。
セル参照による集計表の作成
D列に項目名を
リストアップ
E列にSUMIF関数
でセル参照
数式をコピーして
一括集計完了
| D列(項目名) | E列(数式) | E列(結果) |
|---|---|---|
| りんご | =SUMIF($A:$A,D1,$B:$B) | 250 |
| みかん | =SUMIF($A:$A,D2,$B:$B) | 170 |
| バナナ | =SUMIF($A:$A,D3,$B:$B) | 120 |
| 合計 | =SUM(E1:E3) | 540 |
ワイルドカードを使った部分一致検索
検索条件にワイルドカードを使うと、部分一致での集計も可能です。
アスタリスク(*)は任意の文字列、疑問符(?)は任意の1文字を表します。
例えば、「=SUMIF(A:A,”*りんご*”,B:B)」とすれば、「青森りんご」「りんごジュース」など、「りんご」という文字を含むすべての項目が集計対象になります。
「=SUMIF(A:A,”商品???”,B:B)」とすれば、「商品001」「商品ABC」など、「商品」の後に3文字が続く項目が対象になります。
ワイルドカードは、データの命名規則が統一されていない場合や、複数のバリエーションをまとめて集計したい場合に便利です。
ただし、意図しない項目まで集計してしまう可能性もあるため、条件の設定には注意が必要です。
SUMIF関数は、項目ごと集計の基本中の基本であり、最も頻繁に使用される関数の一つです。
構文がシンプルで理解しやすく、初心者でも比較的容易に習得できます。
ただし、SUMIF関数は一つの条件しか指定できないため、複数の条件を組み合わせた集計には対応できません。
例えば、「りんごかつ2024年1月」のような複数条件の集計には、後述するSUMIFS関数を使用する必要があります。
また、SUMIF関数は列全体(A:Aのような指定)を範囲にすると、データが増えても自動的に対応できて便利ですが、大量のデータがある場合は計算速度が遅くなることがあります。
その場合は、具体的な範囲(A2:A1000など)を指定する方が効率的です。
SUMIFS関数で複数条件の項目ごと集計
続いては、複数の条件を組み合わせて項目ごとに集計する方法を確認していきます。
SUMIFS関数の基本構文
2つ以上の条件を満たすデータだけを集計したい場合、SUMIFS関数を使用します。
SUMIFS関数の構文は「=SUMIFS(合計範囲,条件範囲1,条件1,条件範囲2,条件2,…)」となります。
SUMIF関数と引数の順序が異なる点に注意が必要で、最初に合計範囲を指定し、その後に条件範囲と条件のペアを複数指定します。
例えば、A列に商品名、B列に担当者名、C列に売上金額が入っているデータで、「りんご」かつ「田中」の売上合計を求める場合、「=SUMIFS(C:C,A:A,”りんご”,B:B,”田中”)」と入力します。
この数式は、A列が「りんご」でB列が「田中」という両方の条件を満たす行のC列の値を合計します。
SUMIFS関数の構造
合計範囲
売上列
条件1
商品条件
条件2
担当者条件
| A列(商品) | B列(担当者) | C列(売上) | 数式 | 結果 |
|---|---|---|---|---|
| りんご | 田中 | 100 | =SUMIFS(C:C,A:A,”りんご”,B:B,”田中”) | 250 |
| みかん | 田中 | 80 | ||
| りんご | 佐藤 | 150 | ||
| りんご | 田中 | 150 | ||
| バナナ | 田中 | 120 |
日付や数値の範囲指定
SUMIFS関数では、文字列の完全一致だけでなく、数値や日付の範囲指定も可能です。
比較演算子(>、=、)を使って条件を指定します。
例えば、2024年1月のデータだけを集計したい場合、「=SUMIFS(C:C,A:A,”りんご”,D:D,”>=2024/1/1″,D:D,”=1000″)」とします。
ただし、合計範囲と条件範囲が同じ列になるため、論理的には「1000以上のものを合計する」という意味になります。
比較演算子を使う際は、条件をダブルクォーテーションで囲む必要があります。
セル参照と組み合わせる場合は、「=SUMIFS(C:C,A:A,E1,D:D,”>=”&F1,D:D,”
3つ以上の条件を組み合わせる
SUMIFS関数は、3つ、4つ、それ以上の条件も指定できます。
条件範囲と条件のペアを追加していくだけで、複雑な集計が可能になります。
例えば、「商品が『りんご』、担当者が『田中』、売上が1000以上、日付が2024年1月」という4つの条件を満たすデータを集計する場合、「=SUMIFS(C:C,A:A,”りんご”,B:B,”田中”,C:C,”>=1000″,D:D,”>=2024/1/1″,D:D,”
SUMIFS関数は、複雑な業務要件に対応できる非常に強力な関数です。
複数の条件を AND(かつ)で結合した集計が可能で、売上分析、在庫管理、勤怠集計など、あらゆる場面で活用できます。
ただし、OR(または)の条件は直接指定できないため、例えば「『りんご』または『みかん』」という集計をしたい場合は、複数のSUMIFS関数を足し合わせる必要があります。
「=SUMIFS(C:C,A:A,”りんご”)+SUMIFS(C:C,A:A,”みかん”)」という形です。
また、SUMIFS関数は条件が多くなるほど計算負荷が高くなるため、非常に大量のデータ(数万行以上)を扱う場合は、ピボットテーブルの使用も検討すると良いでしょう。
数式の可読性を保つために、複雑な条件は別のセルに条件値を入力し、セル参照で指定する方法も有効です。
ピボットテーブルで柔軟な項目ごと集計
続いては、ピボットテーブルを使った直感的で柔軟な項目ごと集計の方法を確認していきます。
ピボットテーブルの基本的な作成方法
ピボットテーブルは、ドラッグ&ドロップの直感的な操作で、様々な角度からデータを集計できる強力な機能です。
データ範囲内の任意のセルを選択し、「挿入」タブ→「ピボットテーブル」をクリックします。
「ピボットテーブルの作成」ダイアログが表示されるので、データ範囲を確認し、配置場所(新しいワークシートまたは既存のワークシート)を選択してOKをクリックします。
右側に「ピボットテーブルのフィールド」パネルが表示され、ここでフィールドを配置していきます。
項目ごとに集計したい場合、集計したい項目(例:商品名)を「行」エリアにドラッグし、集計したい数値(例:売上金額)を「値」エリアにドラッグします。
これだけで、各商品の売上合計が自動的に計算され、表形式で表示されます。
ピボットテーブルの作成手順
データ範囲を選択
挿入→ピボットテーブル
集計項目を
「行」エリアへ
数値フィールドを
「値」エリアへ
| エリア | 役割 | 配置例 |
|---|---|---|
| 行 | 縦方向の項目(集計の軸) | 商品名、担当者名 |
| 列 | 横方向の項目(クロス集計) | 年月、地域 |
| 値 | 集計する数値 | 売上金額、数量 |
| フィルター | 全体に適用する絞り込み | 期間、カテゴリ |
複数項目でのクロス集計
ピボットテーブルの強力な機能の一つが、複数の項目を組み合わせたクロス集計です。
「行」エリアに商品名、「列」エリアに担当者名を配置すれば、商品×担当者のマトリックス形式で売上が表示されます。
各商品が各担当者によってどれだけ販売されたかが一目で分かります。
さらに、「行」エリアに複数のフィールドを配置することで、階層的な集計も可能です。
「行」エリアに「カテゴリ」と「商品名」を順に配置すれば、カテゴリごとに商品が分類され、カテゴリ単位の小計と商品ごとの詳細が同時に表示されます。
カテゴリの左側に表示される「+」「-」ボタンで、詳細の表示・非表示を切り替えられます。
クロス集計の例
単純集計
値: 売上
→ 商品別合計
クロス集計
列: 担当者
→ マトリックス
階層集計
商品名
→ 階層構造
スライサーとフィルターで動的な集計
ピボットテーブルには、スライサーという視覚的なフィルター機能があります。
ピボットテーブルを選択した状態で、「ピボットテーブル分析」タブ→「スライサーの挿入」をクリックし、フィルターとして使いたいフィールドを選択します。
スライサーは、ボタン形式のフィルターとしてシート上に配置され、クリックするだけで簡単に絞り込みができます。
例えば、「担当者」のスライサーを追加すれば、「田中」をクリックするだけで田中さんの実績だけが表示され、複数選択も可能です。
スライサーを使うことで、プレゼンテーションや報告の際に、リアルタイムでデータを切り替えながら説明できます。
また、「フィルター」エリアにフィールドを配置すれば、ドロップダウン形式のフィルターとして機能し、より詳細な条件での絞り込みも可能です。
ピボットテーブルは、関数を使った集計と比較して、以下のような利点があります。
数式を書く必要がなく、ドラッグ&ドロップだけで操作でき、集計軸を簡単に変更できるため、様々な角度からデータを分析できます。
また、自動的に小計や総計が計算され、書式も自動適用されるため、見やすいレポートが素早く作成できます。
一方、ピボットテーブルは別のシートまたは範囲に結果を出力するため、元のデータと離れた場所に集計結果が配置されます。
また、ピボットテーブル自体は静的なスナップショットなので、元データが更新されたら「更新」ボタンをクリックして再計算する必要があります。
関数は元データと同じシートで動的に計算されるため、用途に応じて使い分けることが重要です。
簡単な集計や動的な計算が必要な場合は関数、複雑な分析や多角的な視点が必要な場合はピボットテーブルが適しています。
まとめ エクセルで項目ごとに集計(複数条件:名前ごと:小計:二つの条件)する方法
エクセルで項目ごとに集計する方法をまとめると
・SUMIF関数による単一条件集計:「=SUMIF(範囲,検索条件,合計範囲)」で特定項目を集計、「=SUMIF(A:A,”りんご”,B:B)」で「りんご」の売上合計、セル参照「=SUMIF($A:$A,D1,$B:$B)」で動的な集計表作成、ワイルドカード「*」「?」で部分一致検索も可能
・SUMIFS関数による複数条件集計:「=SUMIFS(合計範囲,条件範囲1,条件1,条件範囲2,条件2,…)」で複数条件、「=SUMIFS(C:C,A:A,”りんご”,B:B,”田中”)」で商品と担当者の両方を指定、比較演算子「>=」「データに空白行や不要なデータが含まれていると正しく集計されないため、事前にデータのクレンジングを行い、項目名の表記揺れ(全角・半角、スペースの有無)を統一することが重要です。
Excelの項目ごと集計テクニックを適切に活用して、正確で効率的なデータ分析を実現していきましょう!