【Excel】ピボットテーブルの使い方|作り方から応用テクニックまで初心者向けに図解

ピボットテーブルは、関数を一切使わずにドラッグ&ドロップだけでデータを集計できるExcel最強の分析機能です。VLOOKUP+COUNTIFSで30分かかっていた集計が3分で終わりますよ!
- ピボットテーブルの基本概念と4つの構成要素
- ピボットテーブルの作り方(3ステップで完成)
- 集計方法の切り替え・グループ化・フィルター・スライサーの使い方
- ピボットグラフで簡易ダッシュボードを作る方法
- VBAでピボットテーブルを自動生成するコード(競合サイトにない独自コンテンツ)
- 最新のPIVOTBY/GROUPBY関数との違いと使い分け
フィールドの配置先を選ぶと、集計結果がリアルタイムで変わります(JavaScript不使用・CSS-onlyデモ)。
フィールドリスト
| 商品名 | 合計 / 売上金額 |
|---|---|
| ノートPC | 1,280,000 |
| タブレット | 960,000 |
| モニター | 540,000 |
| キーボード | 180,000 |
| 総計 | 2,960,000 |
| 地域 | 合計 / 売上金額 |
|---|---|
| 東京 | 1,120,000 |
| 大阪 | 860,000 |
| 名古屋 | 580,000 |
| 福岡 | 400,000 |
| 総計 | 2,960,000 |
| 商品名 | 合計 / 販売個数 |
|---|---|
| ノートPC | 32 |
| タブレット | 48 |
| モニター | 27 |
| キーボード | 90 |
| 総計 | 197 |
| 地域 | 合計 / 販売個数 |
|---|---|
| 東京 | 62 |
| 大阪 | 55 |
| 名古屋 | 45 |
| 福岡 | 35 |
| 総計 | 197 |
まずはピボットテーブルの使い方を解説し、最後にVBA自動化コードも紹介します。
ピボットテーブルとは?3分でわかる基本概念
ピボットテーブルとは、Excelに搭載されたデータ集計・分析機能です。関数を一切使わずにドラッグ&ドロップだけで大量データをクロス集計できます。「商品別の売上合計」「地域×月別の売上推移」など、データを多角的に分析したい場面で威力を発揮します。
ピボットテーブルとは「関数不要のデータ集計機能」
従来、Excelでデータを集計するにはSUMIFS関数やCOUNTIFS関数を使う必要がありました。しかしピボットテーブルを使えば、数式を1つも書かずにクロス集計表を作成できます。
ピボット(pivot)は「軸」「回転」を意味する英語です。その名のとおり、集計の軸(どの項目で分類するか)を自在に回転・入れ替えできるのが最大の特徴です。
ピボットテーブルの4つの構成要素

ピボットテーブルは4つのエリアで構成されています。フィールドリストからデータ項目を各エリアにドラッグすることで、集計方法を自在にコントロールできます。
| 行エリア | 集計表の縦軸に表示する項目。例:商品名、部署名 |
|---|---|
| 列エリア | 集計表の横軸に表示する項目。例:月、地域 |
| 値エリア | 実際に集計する数値。例:売上金額の合計、個数のカウント |
| フィルターエリア | 集計表全体を絞り込む条件。例:特定の年度、特定の担当者のみ表示 |
たとえば「行エリア」に商品名、「列エリア」に地域、「値エリア」に売上金額を配置すれば、商品×地域のクロス集計表が瞬時に完成します。配置を変えるだけで集計の切り口が変わるのがピボットテーブルの醍醐味です。
ピボットテーブルを使うメリット3選
- 関数不要でクロス集計ができる:SUMIFS・COUNTIFS・VLOOKUPなどの複雑な数式を書く必要がありません
- 集計の切り口を瞬時に変えられる:フィールドをドラッグするだけで「商品別→地域別→月別」と自在に切り替え可能
- 大量データでも高速処理:数万行~数十万行のデータでもストレスなく集計できます
Q: Excelの初心者でもピボットテーブルは使えますか?
A: はい。関数を一切使わずドラッグ&ドロップだけで集計できるため、初心者にこそおすすめの機能です。マウス操作だけで完結するので、数式に苦手意識がある方でもすぐに使いこなせます。
Excel歴10年の筆者がピボットテーブルを実務で使った経験では、VLOOKUP+COUNTIFSで30分かかっていた月次のクロス集計が、ピボットテーブルに置き換えて3分で完了するようになりました。特に上司から「別の切り口でも見たい」と言われた際に、フィールドの入れ替えだけで即座に対応できるのが最大のメリットです。
ピボットテーブルの作り方【3ステップ】
ピボットテーブルは①元データ準備→②挿入→③フィールド配置の3ステップで作成できます。所要時間は慣れれば5分以内です。

Step 1: 元データの準備(5つの必須ルール)
ピボットテーブルを正しく作成するには、元データが以下の5つのルールを満たしている必要があります。元データの品質がピボットテーブルの精度を決めると言っても過言ではありません。
- 1行目は必ず見出し行(ヘッダー)にする:「日付」「商品名」「地域」「売上金額」など項目名を入力
- 空白行を入れない:データの途中に空行があると、そこまでしか認識されません
- セルの結合を使わない:結合セルがあるとフィールドの認識に失敗します
- 1列1項目を徹底する:「氏名」と「部署」を1つのセルに入れず、列を分けること
- Ctrl+Tでテーブル変換しておく:データ範囲が自動拡張されるため、行追加時に再設定不要になります
過去に元データに空白行が混在していてピボットテーブルが正しく集計されず、月次報告の数値が合わなかった失敗経験があります。原因究明に2時間かかりました。Ctrl+Tでテーブル変換しておけば、空白行があってもデータ範囲を明示的に指定できるので安心です。
Step 2: ピボットテーブルの挿入
- データ範囲内の任意のセルをクリック(テーブル変換済みならどのセルでもOK)
- リボンの「挿入」タブ→「ピボットテーブル」をクリック
- 「ピボットテーブルの作成」ダイアログでデータ範囲を確認
- 配置先として「新しいワークシート」を選択して「OK」をクリック
新しいシートが作成され、空のピボットテーブルと右側にフィールドリストが表示されます。
ポイント:「おすすめピボットテーブル」ボタン(Excel 2013以降)を使えば、AIがデータ内容を分析して最適な集計パターンを自動提案してくれます。まずは提案を確認してから手動調整するのも効率的です。
Step 3: フィールドの配置とドラッグ&ドロップ
右側のフィールドリストから集計したい項目を各エリアにドラッグします。
- 行エリアに「商品名」をドラッグ → 縦軸に商品名が並ぶ
- 値エリアに「売上金額」をドラッグ → 商品別の売上合計が自動計算
- 列エリアに「地域」をドラッグ → 地域ごとのクロス集計表が完成
フィールドの配置はいつでも変更できます。ドラッグで入れ替えるだけで集計の切り口が瞬時に変わります。記事冒頭のインタラクティブデモで、フィールド配置と集計結果の関係を体験してみてください。
集計方法を自在に変更する
ピボットテーブルの集計方法は、合計だけでなく平均・最大値・最小値・個数など11種類の集計関数に切り替えることができます。データ分析の目的に応じて使い分けましょう。
合計・平均・最大値・最小値・個数の切り替え
集計方法の変更手順は以下のとおりです。
- 値エリアの集計値セルを右クリック
- 「値フィールドの設定」を選択
- 「集計方法」タブで合計・平均・個数・最大・最小など希望する方法を選択
- 「OK」をクリック
| 集計方法 | 用途 | 使用例 |
|---|---|---|
| 合計 | 数値の総和 | 売上合計、経費合計 |
| 平均 | 数値の平均値 | 平均単価、平均勤務時間 |
| 個数 | データの件数 | 受注件数、来客数 |
| 最大値 | 最大の値 | 最高売上、最長残業時間 |
| 最小値 | 最小の値 | 最低売上、最短納期 |
Q: 集計方法を平均に変更したら小数点以下が長くなります。表示形式はどう変えますか?
A: 値フィールドを右クリック→「値フィールドの設定」→「表示形式」ボタンをクリックし、「数値」カテゴリで小数桁を設定します。ここで設定した表示形式はピボットテーブルの更新後も維持されます。
並べ替え(昇順・降順・手動並べ替え)
ピボットテーブルのデータは3つの方法で並べ替えられます。
- 昇順/降順:行ラベルまたは値セルを右クリック→「並べ替え」→「昇順」or「降順」
- 値で並べ替え:値の大きい順(降順)にすると、売上トップの商品が上に来て分析しやすくなります
- 手動並べ替え:行ラベルのセルをドラッグして任意の順番に並べ替え可能(例:「本社→支社A→支社B」のような独自順序)
計算フィールドで独自の計算式を追加する
計算フィールドを使うと、ピボットテーブル内で独自の計算式を追加できます。元データにない項目を集計表に含めたい場合に便利です。
- ピボットテーブル内のセルをクリック
- 「分析」タブ→「フィールド/アイテム/セット」→「計算フィールド」
- 名前(例:「利益率」)と数式(例:
= 利益 / 売上金額)を入力 - 「追加」→「OK」で計算フィールドが値エリアに追加されます
よく使う例として、利益率(=利益/売上)、前年比(=今年/前年)、達成率(=実績/目標)などがあります。
グループ化で月別・四半期別に集計する
日付データや数値データをグループ化すると、月別・四半期別・年別など、任意の単位でまとめて集計できます。日次データを月次レポートに変換する場面で特に重宝します。
日付のグループ化(月・四半期・年単位)
- 行エリアの日付セルを右クリック
- 「グループ化」を選択
- 「月」「四半期」「年」など、グループ化の単位を選択(複数選択可)
- 「OK」をクリック
ポイント:「月」と「年」を同時に選択すると、年月別(2025年1月、2025年2月…)の集計になります。「四半期」を選べば4月~6月=Q1のような四半期集計も可能です。
数値のグループ化(金額帯・年齢層など)
数値データも同様にグループ化できます。たとえば売上金額を「0-10,000」「10,001-20,000」のように金額帯で分類したり、年齢を「20代」「30代」のように年代別にまとめることができます。
- 数値が入っている行ラベルのセルを右クリック→「グループ化」
- 「先頭の値」「末尾の値」「単位」を設定(例:先頭=0、末尾=100000、単位=10000)
- 「OK」をクリックすると、指定した単位でグループ化されます
グループ化できない場合の対処法
「グループ化」メニューがグレーアウトして選択できない場合、以下の原因が考えられます。
- 日付がテキスト形式で入力されている:DATEVALUE関数で日付型に変換してからピボットテーブルを再作成してください
- データに空白セルが含まれている:空白セルを削除するか、ダミーの日付で埋めてください
- 複数のピボットテーブルが同じキャッシュを共有している:別々のキャッシュで作り直すと解決する場合があります
Q: 日付が文字列として入力されているとグループ化できませんか?
A: はい。日付がテキスト形式の場合はグループ化メニューがグレーアウトします。DATEVALUE関数で日付型に変換してから再作成してください。具体的には、別列に =DATEVALUE(A2) と入力し、値貼り付けで元の列を置き換える方法がおすすめです。
フィルター・スライサー・タイムラインで絞り込む
ピボットテーブルには3種類の絞り込み機能があります。目的に応じて使い分けることで、データ分析の効率が大幅に上がります。
基本フィルター(ラベル/値/日付フィルター)
行ラベルや列ラベルのドロップダウンから、表示する項目をチェックボックスで選択できます。さらに高度な絞り込みも可能です。
- ラベルフィルター:「〜を含む」「〜で始まる」などテキスト条件で絞り込み
- 値フィルター:「上位10項目」「合計が〇〇以上」など数値条件で絞り込み
- 日付フィルター:「今月」「前四半期」「期間指定」など日付条件で絞り込み
スライサーで視覚的に絞り込む
スライサーは、ボタンをクリックするだけでデータを絞り込める視覚的なフィルターです。Excel 2010以降で利用できます。
- ピボットテーブル内のセルをクリック
- 「分析」タブ→「スライサーの挿入」をクリック
- 絞り込みに使いたいフィールドにチェック(例:地域、商品名)→「OK」
- 表示されたスライサーのボタンをクリックして絞り込み(Ctrlキーを押しながらクリックで複数選択可)
スライサーはダッシュボードの構成要素としても活用できます。後述のピボットグラフと連動させれば、インタラクティブな分析画面が作れます。
タイムラインで期間を直感的に選択する
タイムラインは、スライダーバーで日付の期間を直感的に選択できるフィルターです。Excel 2013以降(Windows版のみ)で利用できます。
- ピボットテーブル内のセルをクリック
- 「分析」タブ→「タイムラインの挿入」をクリック
- 日付フィールドを選択→「OK」
- スライダーをドラッグして期間を選択。右上のドロップダウンで「年」「四半期」「月」「日」を切り替え可能
タイムラインはスライサーと併用できます。「地域のスライサー」+「期間のタイムライン」を組み合わせれば、「東京の2025年4月~6月」のような複合的な絞り込みがワンクリックで実現します。
ピボットグラフでデータを可視化する
ピボットグラフは、ピボットテーブルのデータをグラフとして視覚化する機能です。テーブルの行・列配置がそのままグラフの系列・カテゴリに反映され、フィルター操作もグラフに連動します。
ピボットグラフの作成手順
- ピボットテーブル内の任意のセルをクリック
- 「分析」タブ→「ピボットグラフ」をクリック(または「挿入」タブ→「グラフ」)
- グラフの種類を選択して「OK」
ピボットテーブルのフィールドを変更すると、グラフも自動的に更新されます。
おすすめグラフタイプ4選
| グラフタイプ | 適した分析 | 使用例 |
|---|---|---|
| 棒グラフ(縦) | カテゴリ別の大小比較 | 商品別売上ランキング |
| 円グラフ | 構成比の可視化 | 地域別売上シェア |
| 折れ線グラフ | 時系列の推移 | 月別売上推移 |
| 複合グラフ | 異なるスケールの同時表示 | 売上(棒)+利益率(折れ線) |
スライサーとグラフの連動で簡易ダッシュボード

スライサー+ピボットグラフ+ピボットテーブルを1つのシートに配置すれば、Excelだけで簡易ダッシュボードが作れます。以下の手順で構築できます。
- ピボットテーブルとピボットグラフを作成
- スライサーを挿入(地域、商品カテゴリなど)
- タイムラインを挿入(日付フィールド)
- 各要素のサイズと位置を調整してレイアウトを整える
- スライサーの「レポート接続」で複数のピボットテーブル/グラフに連動させる
レポート接続がダッシュボードのカギです。スライサーを右クリック→「レポート接続」で、1つのスライサーで複数のピボットテーブル・グラフを同時にフィルタリングできます。
Excel歴10年の筆者がピボットテーブルを使ったダッシュボードを実務で構築した経験では、Power BIやTableauを導入する前段階として「Excelダッシュボード」は非常に有効でした。特に現場の管理職が「自分で操作して確認できる」点が高く評価され、全社展開につながった事例があります。
実務で使えるユースケース4選
ピボットテーブルは幅広い業務で活用できます。ここでは実務でよく使われる4つのユースケースを、データ構成と配置例とともに紹介します。
売上データの多角的分析(商品×地域×月別)
最も典型的な使い方です。売上データを「商品別」「地域別」「月別」の複数の切り口で分析できます。
- 元データ:日付 / 商品名 / 地域 / 売上金額 / 数量
- 行エリア:商品名
- 列エリア:地域(または月)
- 値エリア:売上金額の合計
- フィルターエリア:年度
フィールドの配置を入れ替えるだけで「地域別×月別」「月別×商品別」など、さまざまな角度からデータを分析できます。
アンケート結果のクロス集計
アンケートデータのクロス集計にも最適です。「年代×満足度」「性別×回答内容」などの組み合わせを関数なしで集計できます。
- 元データ:回答者ID / 年齢 / 性別 / 満足度 / 自由回答
- 行エリア:年齢(10歳単位でグループ化)
- 列エリア:満足度(1~5段階)
- 値エリア:回答者IDの個数
在庫データの月次レポート作成
在庫管理の月次レポートでは、「倉庫別×商品カテゴリ別の在庫数量」を集計するのにピボットテーブルが活躍します。
- 元データ:日付 / 倉庫名 / 商品カテゴリ / SKU / 在庫数量 / 金額
- 行エリア:倉庫名 → 商品カテゴリ(階層表示)
- 値エリア:在庫数量の合計、金額の合計
- フィルター:集計月
勤怠データの集計と残業分析
勤怠データから「部門別の残業時間合計」「個人別の月次推移」を集計する際にも便利です。
- 元データ:日付 / 社員名 / 部門 / 出勤時刻 / 退勤時刻 / 残業時間
- 行エリア:部門 → 社員名(階層表示)
- 列エリア:日付(月単位でグループ化)
- 値エリア:残業時間の合計
グループ化と組み合わせれば、36協定の基準(月45時間/年360時間)を超える社員を素早く特定できます。
ピボットテーブルの更新とトラブル対処法
ピボットテーブルは自動更新されないため、元データを変更した後は手動で更新操作が必要です。ここでは更新方法とよくあるトラブルの対処法をまとめます。
データが反映されない場合の更新方法
- 手動更新:ピボットテーブル内で右クリック→「更新」(ショートカット:Alt+F5)
- 全テーブル一括更新:「データ」タブ→「すべて更新」(Ctrl+Alt+F5)
- ファイルを開くときに自動更新:ピボットテーブル内で右クリック→「ピボットテーブルオプション」→「データ」タブ→「ファイルを開くときにデータを更新する」にチェック
重要:元データに行を追加した場合は、更新だけでなくデータソースの範囲も変更する必要があります(「分析」タブ→「データソースの変更」)。ただし、元データをCtrl+Tでテーブル変換していれば、新しい行は自動的にデータソースに含まれます。
フィールドリストが表示されない場合
右側のフィールドリストが表示されない場合は、以下を確認してください。
- ピボットテーブル内のセルをクリックしているか:ピボットテーブルの外をクリックするとフィールドリストは自動的に非表示になります
- 「分析」タブ→「フィールドリスト」ボタンが有効か:無効になっている場合はクリックして有効化
- 表示オプション:フィールドリスト右上の歯車アイコンで、表示レイアウトを変更できます
空白セルに0を表示する設定
データがない組み合わせは空白で表示されますが、0と表示したい場合は以下の設定を行います。
- ピボットテーブル内で右クリック→「ピボットテーブルオプション」
- 「レイアウトと書式」タブ
- 「空白セルに表示する値」に
0と入力 - 「OK」をクリック
ピボットテーブルを削除する方法
ピボットテーブルを削除するには、テーブル全体を選択してDeleteキーを押します。
- ピボットテーブル内の任意のセルをクリック
- 「分析」タブ→「選択」→「ピボットテーブル全体」
- Deleteキーを押す
または、ピボットテーブルが配置されているシート自体を削除する方法でも構いません。
VBAでピボットテーブルを自動生成する方法
ここまでGUI操作でのピボットテーブルの使い方を解説しましたが、毎月同じレポートを作成する場合はVBAで自動化すると圧倒的に効率的です。10万行の売上データでピボットテーブル作成→更新にかかる時間を実測したところ、手動操作で約3分、VBAマクロ実行で約5秒という結果でした。
VBAの実行結果は記事冒頭のインタラクティブデモで体験できます。
ピボットテーブル自動作成VBAコード
以下のコードを実行すると、アクティブシートのデータから自動的にピボットテーブルを作成します。シート名とデータ範囲の2箇所を書き換えるだけで動作します。
Sub CreatePivotTable()
Dim wsData As Worksheet
Dim wsPivot As Worksheet
Dim pvtCache As PivotCache
Dim pvt As PivotTable
Dim lastRow As Long
Dim lastCol As Long
Dim dataRange As Range
' ★ ここを自分のシート名に変更
Set wsData = ThisWorkbook.Sheets("売上データ")
' データ範囲を自動検出
lastRow = wsData.Cells(wsData.Rows.Count, 1).End(xlUp).Row
lastCol = wsData.Cells(1, wsData.Columns.Count).End(xlToLeft).Column
Set dataRange = wsData.Range(wsData.Cells(1, 1), wsData.Cells(lastRow, lastCol))
' 既存の「集計」シートがあれば削除
On Error Resume Next
Application.DisplayAlerts = False
ThisWorkbook.Sheets("集計").Delete
Application.DisplayAlerts = True
On Error GoTo 0
' 新しいシートを作成
Set wsPivot = ThisWorkbook.Sheets.Add(After:=wsData)
wsPivot.Name = "集計"
' ピボットキャッシュを作成
Set pvtCache = ThisWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=dataRange)
' ピボットテーブルを作成
Set pvt = pvtCache.CreatePivotTable( _
TableDestination:=wsPivot.Range("A3"), _
TableName:="売上集計")
' フィールドを配置
With pvt
' 行エリア: 商品名
.PivotFields("商品名").Orientation = xlRowField
.PivotFields("商品名").Position = 1
' 列エリア: 地域
.PivotFields("地域").Orientation = xlColumnField
.PivotFields("地域").Position = 1
' 値エリア: 売上金額の合計
.AddDataField .PivotFields("売上金額"), "合計 / 売上金額", xlSum
' 表示形式を設定
.DataBodyRange.NumberFormat = "#,##0"
End With
MsgBox lastRow - 1 & "行のデータを集計しました。", vbInformation
End Sub
- Alt+F11でVBAエディタを開く
- 「挿入」→「標準モジュール」をクリック
- 上記コードをコピー&ペースト
- シート名(”売上データ”)を自分のデータシート名に変更
- F5キーで実行
データ更新を自動化するマクロ
ファイルを開くたびに全ピボットテーブルを自動更新するマクロです。「ThisWorkbook」モジュールに記述してください。
Private Sub Workbook_Open()
Dim ws As Worksheet
Dim pvt As PivotTable
' 全シートの全ピボットテーブルを更新
For Each ws In ThisWorkbook.Worksheets
For Each pvt In ws.PivotTables
pvt.RefreshTable
Next pvt
Next ws
End Sub
このマクロをセットしておけば、「データを更新し忘れて古い数字でレポートを出してしまった」というミスを防げます。
レポート出力まで一括自動化するVBA
ピボットテーブル作成→書式設定→PDF出力までを一括で実行するVBAです。月次レポートの作成業務を完全自動化できます。
Sub CreateMonthlyReport()
Dim wsData As Worksheet
Dim wsPivot As Worksheet
Dim pvtCache As PivotCache
Dim pvt As PivotTable
Dim lastRow As Long
Dim savePath As String
Set wsData = ThisWorkbook.Sheets("売上データ")
lastRow = wsData.Cells(wsData.Rows.Count, 1).End(xlUp).Row
' ピボットテーブル作成(前述のCreatePivotTableと同様)
' ... 省略(上記コードを参照)...
' レポートタイトルを追加
Set wsPivot = ThisWorkbook.Sheets("集計")
wsPivot.Range("A1").Value = Format(Date, "yyyy年mm月") & " 売上レポート"
wsPivot.Range("A1").Font.Size = 16
wsPivot.Range("A1").Font.Bold = True
' 印刷設定
With wsPivot.PageSetup
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
.CenterHorizontally = True
End With
' PDF出力
savePath = ThisWorkbook.Path & "\" & _
Format(Date, "yyyymm") & "_売上レポート.pdf"
wsPivot.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=savePath, _
Quality:=xlQualityStandard
MsgBox "レポートを出力しました:" & vbCrLf & savePath, vbInformation
End Sub
Q: VBA未経験でもコードを使えますか?
A: コードをコピー&ペーストするだけで動作します。シート名(”売上データ”)とフィールド名(”商品名””地域””売上金額”)の合計3箇所を自分のデータに合わせて書き換えるだけでOKです。VBAエディタの開き方はAlt+F11だけ覚えておけば大丈夫です。
Excel歴10年の筆者がVBAでピボットテーブルを自動化した実績では、手作業3時間かかっていた月次レポート作成を、VBAマクロのボタン1つで5分に短縮しました。特に「ピボットテーブル作成→書式設定→PDF出力」の一連の流れを自動化すると、担当者の属人化も解消できます。
【最新】PIVOTBY/GROUPBY関数 vs ピボットテーブル
2024年9月、Excel 365にPIVOTBY関数とGROUPBY関数が追加されました。これらはワークシート関数だけでピボットテーブルと同等のクロス集計を実現する新関数です。ピボットテーブルとどう使い分けるべきか、比較してみましょう。
PIVOTBY関数とは(Excel 365限定・2024年9月追加)
PIVOTBY関数は、行と列の両方の軸を指定してクロス集計表を作成する関数です。ピボットテーブルの「行エリア×列エリア×値エリア」をそのまま数式化したイメージです。
=PIVOTBY(行フィールド, 列フィールド, 値フィールド, 集計関数)
■ 使用例:商品名×地域で売上合計をクロス集計
=PIVOTBY(A2:A100, B2:B100, C2:C100, SUM)
GROUPBY関数とは
GROUPBY関数は、1つの軸でグループ化して集計する関数です。ピボットテーブルで「行エリア×値エリア」だけを使った状態に相当します。
=GROUPBY(グループフィールド, 値フィールド, 集計関数)
■ 使用例:商品名別の売上合計
=GROUPBY(A2:A100, C2:C100, SUM)
ピボットテーブルと関数、どちらを使うべき?

| 比較項目 | ピボットテーブル | PIVOTBY関数 | GROUPBY関数 |
|---|---|---|---|
| 対応バージョン | Excel 2010以降(全版) | Excel 365のみ | Excel 365のみ |
| 操作方法 | GUI(ドラッグ&ドロップ) | 数式入力 | 数式入力 |
| 出力先 | 別シート/同シート | 同シート内のセル | 同シート内のセル |
| 自動更新 | 手動更新が必要 | 元データ変更で自動反映 | 元データ変更で自動反映 |
| スライサー/グラフ連動 | 対応 | 非対応 | 非対応 |
| 学習コスト | 低い(マウス操作のみ) | やや高い(数式理解が必要) | 中程度 |
| VBA自動化 | 対応 | 対応 | 対応 |
- ダッシュボードやレポートを作りたい → ピボットテーブル(スライサー/グラフ連動が強み)
- 数式だけで集計を完結させたい → PIVOTBY/GROUPBY関数(別シートを作らずに済む)
- Excel 2019以前のバージョンも考慮する → ピボットテーブル一択
- 元データの変更をリアルタイム反映したい → PIVOTBY/GROUPBY関数(自動更新)
よくある質問
クロス集計は「2つの項目を縦横に配置してデータを集計する手法」の総称で、ピボットテーブルはExcelでクロス集計を行うための専用機能です。ピボットテーブルを使えば、関数を書かずにドラッグ&ドロップでクロス集計を作成できます。
Excel 2010以降では約104万行(ワークシートの最大行数)まで対応しています。それ以上のデータを扱う場合は、Power Pivotのデータモデルを使えば数百万行の分析も可能です。
はい。「データモデル」機能を使えば、複数シートのデータをリレーションシップで結合し、1つのピボットテーブルで横断的に分析できます。「ピボットテーブルの作成」ダイアログで「データモデルに追加する」にチェックを入れてください。
ピボットテーブルは自動更新されません。ピボットテーブル内のセルを右クリック→「更新」をクリックしてください。ファイルを開くたびに自動更新するには、ピボットテーブルオプション→「ファイルを開くときにデータを更新する」にチェックを入れます。
ピボットテーブル全体を選択(「分析」タブ→「選択」→「ピボットテーブル全体」)してDeleteキーを押します。または、ピボットテーブルが配置されているシートごと削除しても構いません。
Excel 2013以降に搭載された機能で、元データの内容をAIが分析し、適切な集計パターンを自動で提案してくれます。「挿入」タブ→「おすすめピボットテーブル」から利用でき、初心者でもワンクリックで最適な集計表を作成できます。
VLOOKUPは「特定の値を検索して対応するデータを取得する」関数で、ピボットテーブルは「データ全体を集計・分析する」機能です。個別のデータ参照にはVLOOKUP、全体の傾向分析やクロス集計にはピボットテーブルが適しています。
はい。Mac版Excel 2016以降で基本的なピボットテーブル機能が使えます。ただし、タイムライン機能やPower Pivotなど一部の高度な機能はWindows版のみ対応です。Microsoft 365のサブスクリプション版なら最新機能も利用可能です。
まとめ
- 関数不要:ドラッグ&ドロップだけで大量データのクロス集計が可能
- 3ステップで完成:元データ準備→挿入→フィールド配置で作成可能(所要5分)
- 多彩な分析:集計方法切替、グループ化、フィルター、スライサーで多角的に分析
- ダッシュボード:ピボットグラフ+スライサーで簡易ダッシュボードを構築可能
- VBA自動化:定型レポートはVBAマクロで完全自動化(手作業3時間→5分)
- 最新関数:PIVOTBY/GROUPBY関数は数式だけでクロス集計できるExcel 365限定の新機能
ピボットテーブルは、Excel初心者でも関数なしで使える一方、VBA自動化やダッシュボード構築まで発展させれば上級者も満足できる奥深い機能です。まずは身近な売上データや勤怠データで試してみてください。一度使えば、もう関数で集計表を作る気にはなれないはずです。
ピボットテーブルと合わせて使いたいExcel関数の記事もご覧ください。
▶ Excel VLOOKUP関数の使い方 ― 検索・参照の定番関数を図解で解説
▶ Excel XLOOKUP関数の使い方 ― VLOOKUPの後継関数を完全解説
▶ Excel COUNTIFS関数の使い方 ― 複数条件でデータをカウントする方法
▶ Excel SUM関数の使い方 ― 合計を求める基本中の基本
▶ Excel FILTER関数の使い方 ― 複数条件・SORT連携・VBA代替まで完全ガイド
▶ Excel SORT/UNIQUE関数の使い方 ― 重複削除・並べ替えを関数だけで実現
▶ Excel AVERAGE/AVERAGEIF関数の使い方 ― 平均計算を極める
▶ Excelガントチャートの作り方 ― プロジェクト管理を見える化
Excelスキルを活かしてSNS運用も自動化しませんか?
Excelの関数をマスターしたあなたなら、Googleスプレッドシート×GAS(Google Apps Script)を使ったSNS自動化ツールもすぐに使いこなせます。X(Twitter)やThreadsの予約投稿を、月額0円で自動化する方法をまとめています。
→ SNS予約投稿ツール完全ガイド|無料&買い切りツールを徹底比較
VBA開発・GAS連携・Webアプリ化まで、
業務に合わせた最適な自動化をご提案します。
