Menu

ピボットテーブルの作り方: Excelで集計表を作る手順

ピボットテーブルは、表の行をカテゴリーごとにまとめ、数値をそれぞれ集計します。数式は要りません。挿入 > ピボットテーブル を選び、フィールドを行と値にドラッグします。手順、4つのエリアの意味、同じ集計を数式で作る方法を紹介します。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

ピボットテーブルは、表の行をRegionのようなカテゴリーでまとめ、Salesのような数値をグループごとに集計します。数式は要りません。作るには、データの中のセルをクリックして挿入 > ピボットテーブルを選び、OKを押して、Regionを行に、Salesを値にドラッグします。下のシートはピボットテーブルではなく、同じ集計を数式で作ったものなので、合計が変わる様子を確かめられます。

数式で作った同じ集計
F2
ABCDEFG
1RegionProductSalesRegionSales% of total
2NorthApple120North45549%
3SouthPear85South30533%
4NorthPear240East17018%
5EastApple60
6SouthApple150
7NorthApple95
8EastPear110
9SouthPear70
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

UNIQUEが各地域を1回ずつ並べ、SUMIFがそれを合計します。North 455、South 305、East 170で、全体の930のそれぞれ49%、33%、18%です。C3を185に変えると、Southの合計と3つの割合がすぐに変わります。ピボットテーブルでも同じ数値が表示されますが、更新した後でないと変わりません。

ピボットテーブルの作り方

始める前に元のデータを確かめてください。見出しの行が1行あり、すべての列に名前があること、1行に1件のデータであること、途中に空白の行や列がないこと、小計の行がないことです。

  1. データの中のどれかのセルをクリックします。
  2. 挿入 > ピボットテーブルを選びます(バージョンによっては挿入 > ピボットテーブル > テーブルまたは範囲から)。
  3. Excelが範囲を入力します。新規ワークシートを選んでOKを押します。
  4. 空のピボットテーブルが表示され、右側に列見出しを並べたピボットテーブルのフィールドウィンドウが表示されます。
  5. Regionを行のボックスに、Salesを値のボックスにドラッグします。ピボットテーブルには各地域が1回ずつ、その隣に「合計 / Sales」が表示され、総計の行も付きます。
  6. 表示を変えるには、フィールドをボックスの間でドラッグするか、ウィンドウの外にドラッグします。

どこから始めればよいかわからないときは、挿入 > おすすめピボットテーブルがデータに合った既製のレイアウトをいくつか表示します。Macでもメニューは同じで、挿入 > ピボットテーブルです。

行、列、値、フィルター

「ピボットテーブルのフィールド」ウィンドウには4つのボックスがあり、どのピボットテーブルも、どの列をどのボックスに入れるかの組み合わせです:

  • 行:左側に縦に並ぶカテゴリーで、値の種類ごとに1行になります(Region)。
  • 列:上に横に並ぶカテゴリーで、値の種類ごとに1列になります(Product)。
  • 値:組み合わせごとに計算する数値です。数値の列では合計が既定で、個数、平均、最大、最小などは「値フィールドの設定」にあります。
  • フィルター:ピボットテーブル全体を絞り込むフィールドで、上にドロップダウンとして表示されます。

Regionを行に、Productを列に、Salesを値に入れると、上のデータのピボットテーブルは次のようになります:

Sum of Sales   Column Labels
Row Labels     Apple   Pear   Grand Total
East              60    110           170
North            215    240           455
South            150    155           305
Grand Total      425    505           930

このレイアウトを数式で作るには、UNIQUEで地域を縦に、TRANSPOSE(UNIQUE())で商品を横に並べ、2つのリストを条件として受け取る1つのSUMIFSでマス目のすべてのセルを計算します:

地域×商品を数式で
F2
ABCDEFG
1RegionProductSalesApplePear
2NorthApple120North215240
3SouthPear85South150155
4NorthPear240East60110
5EastApple60
6SouthApple150
7NorthApple95
8EastPear110
9SouthPear70
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

E2はNorth、South、Eastを縦に、F1はAppleとPearを横にスピルし、F2のSUMIFSがその間の3行2列のマス目を埋めます。地域と商品の組ごとに1つの合計です。B5をAppleからPearに変えると、Eastの2つのセルが変わります。ここでの順番は値が最初に出てきた順で、ピボットテーブルはラベルをアルファベット順に並べます。

合計の代わりに個数、平均、割合を出す

ピボットテーブルでは、「値」ボックスのフィールドをクリックして値フィールドの設定を選びます。集計方法タブで合計、個数、平均、最大、最小を切り替え、計算の種類タブで数値を総計に対する比率、列集計に対する比率、累計などに変えます。どの数式にもそのまま対応するものがあります:

地域ごとの件数と平均
E2
ABCDEFG
1RegionProductSalesRegionOrdersAverage
2NorthApple120North3151.7
3SouthPear85South3101.7
4NorthPear240East285.0
5EastApple60
6SouthApple150
7NorthApple95
8EastPear110
9SouthPear70
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

Northは3件で平均151.7、Southは3件で平均101.7、Eastは2件で平均85.0です。総計に対する比率の列は、このページの最初のシートにあります。

1つの商品で集計を絞り込む

「フィルター」ボックスは、ピボットテーブルの上にドロップダウンを置きます。数式で作るなら、プルダウンリストのあるセルと、SUMIFに条件を1つ足したSUMIFSを使います。F1で商品を選んでください:

1つの商品の地域別売上
F1
ABCDEF
1RegionProductSalesProduct:Apple
2NorthApple120
3SouthPear85RegionSales
4NorthPear240North215
5EastApple60South150
6SouthApple150East60
7NorthApple95
8EastPear110
9SouthPear70
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

Appleを選ぶと、Northは215、Southは150、Eastは60です。Pearを選ぶと、240、155、110に変わります。さらに条件を足す方法はSUMIFSを、Excelでリストを付ける方法はプルダウンリストのページを参照してください。

ピボットテーブルを更新する

ピボットテーブルは元のデータのコピー(ピボットキャッシュ)を持っていて、元のセルが変わっても再計算されません。データを編集した後は:

  • ピボットテーブルのどこかを右クリックして更新を選ぶか、WindowsではAlt+F5を押します。
  • データ > すべて更新(Ctrl+Alt+F5)は、ブックのすべてのピボットテーブルを更新します。
  • ファイルを開くたびに更新するには、ピボットテーブルを右クリックしてピボットテーブルオプションを選び、データタブでファイルを開くときにデータを更新するにチェックを入れます。

元の範囲の下に足した新しい行は、更新しても含まれません。ピボットテーブル分析 > データソースの変更で範囲を変えるか、もっとよいのは、ピボットテーブルを作る前に元のデータをテーブルにすることです。データを選択してCtrl+Tを押すか、挿入 > テーブルを使います。テーブルは行を足すと広がり、ピボットテーブルは次の更新でそれを取り込みます。

1つの数式ですべての地域を合計する

すべての地域を1つの数式で
F2
ABCDEF
1RegionProductSalesRegionSales
2NorthApple120North
3SouthPear85South
4NorthPear240East
5EastApple60
6SouthApple150
7NorthApple95
8EastPear110
9SouthPear70
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: F2で、E2:E4に並んだすべての地域の売上を1つの数式で合計してください。

答えは455、305、170をスピルします。SUMIFにリストE2:E4全体を条件として渡すと地域ごとに1つの合計が返るので、下にコピーするものはありません。Excel 2019以前にはUNIQUEもスピルもないので、E2:E4に地域を入力して=SUMIF($A$2:$A$9,E2,$C$2:$C$9)を下にコピーします。$記号がないと範囲が行ごとに下に動き、合計が間違います。

GROUPBYとPIVOTBY: 1つの数式でピボットテーブル

Microsoft 365のExcelには、1つの数式で集計表全体を作り、普通の数式と同じように更新なしで再計算する関数が2つあります。最新のMicrosoft 365のサブスクリプションが必要です。上のデータでは:

=GROUPBY(A2:A9,C2:C9,SUM)

East      170
North     455
South     305
Total     930
=PIVOTBY(A2:A9,B2:B9,C2:C9,SUM)

          Apple   Pear   Total
East         60    110     170
North       215    240     455
South       150    155     305
Total       425    505     930

GROUPBYは、行のフィールド、値、関数(SUM、COUNTA、AVERAGE、MAX、PERCENTOF)を受け取ります。PIVOTBYはその間に列のフィールドを足します。どちらもピボットテーブルと同じように、ラベルを並べ替えて合計の行を付けます。

ピボットテーブルと数式、どちらを使うか

ピボットテーブル数式(UNIQUE + SUMIF)
準備ドラッグ&ドロップ、入力は不要列ごとに数式を入力する
更新「更新」が必要変更のたびに再計算される
新しいカテゴリー更新すると表示されるUNIQUEのスピルにすぐ表示される
データの探索数秒で組み替えられ、数値をダブルクリックすると詳細が見られる数式を書き直す
日付を月や年でまとめる組み込み(日付を右クリック > グループ化)MONTH、YEAR、TEXTが必要
レイアウトと書式ピボットの決まったレイアウトどんなレイアウトでもよく、どのセルもレポートやグラフに使える

データを探索して一度だけ問いに答えるならピボットテーブルを、レポートに置き、ほかの数式に値を渡し、常に最新でなければならない集計には数式を使います。ピボットテーブルの数値を確かめるには、そのセルの1つをSUMIFSで作り直します。2つが合わなければ、たいていピボットテーブルの更新が必要か、元の範囲が短すぎます。

よくある質問

Excelのピボットテーブルとは何ですか?

表の行を1つ以上の列の値でグループにまとめ、グループごとに合計、個数、平均を計算する集計表です。列名を4つのエリア(行、列、値、フィルター)にドラッグして作り、元のデータは変わりません。

Excelでピボットテーブルを作るには?

データの中のセルをクリックし、挿入 > ピボットテーブル を選んで新規ワークシートを選び、OKを押します。「ピボットテーブルのフィールド」ウィンドウで、カテゴリー(Region)を行に、数値の列(Sales)を値にドラッグします。

ピボットテーブルに新しいデータが表示されないのはなぜですか?

ピボットテーブルは自動では更新されません。右クリックして更新を選ぶか、データ > すべて更新(Ctrl+Alt+F5)を使います。元の範囲の下に新しい行を足したなら、ピボットテーブル分析 > データソースの変更 で範囲も変えるか、Ctrl+Tで元のデータをテーブルにして自動で広がるようにします。

ピボットテーブルで合計ではなく個数を表示するには?

「値」エリアのフィールドをクリックし、値フィールドの設定を選んで個数を選びます。列に文字列や空のセルがあると、Excelは既定で個数を選ぶので、合計を期待したところに個数が表示されることがあります。

数式でピボットテーブルのような集計表を作れますか?

作れます。E2の=UNIQUE(A2:A9)が各カテゴリーを1回ずつ並べ、F2の=SUMIF(A2:A9,E2:E4,C2:C9)がそれぞれを合計します。Microsoft 365では、=GROUPBY(A2:A9,C2:C9,SUM)が1つの数式で集計表全体を返します。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める