ピボットテーブルが作れない・崩れる──元データ「1行1件」の鉄則
ピボットテーブルがうまく作れない・更新すると崩れる原因の多くは、関数ではなく元データの作り方にあります。結合セル・空白見出し・小計行混入がダメな理由と「1行1件」の縦持ちデータの考え方、更新ボタンの使い方まで解説します。
「フィールドリストにドラッグしても、思った通りの表にならない」「一度作ったピボットテーブルが、データを追加したら崩れた」——ピボットテーブルの相談で圧倒的に多いのが、この2つです。
「ピボットテーブルって難しい機能なんですよね?」「せっかく作ったのに、なんで更新すると変になるんですか?」
結論から言います。
ピボットテーブルの機能自体は難しくありません。うまくいかない原因の9割は、元データの作り方にあります。結合セル・空白見出し・小計行の混入——この3つを避けて「1行1件」の形にデータを作り直すだけで、ピボットは驚くほど素直に動きます。
症状:フィールドが正しく効かない・集計が崩れる
まず、よくある症状を並べます。
- 行ラベルにドラッグしたのに、同じ項目が別々の行として重複表示される
- 集計結果に空白の行や「(空白)」という項目が混ざる
- データを追加して「更新」を押したら、範囲が広がらず新しい行が反映されない
- そもそもフィールドリストにドラッグできる項目が少ない(見出しがおかしいので認識されていない)
これらはすべて、ピボットテーブルの機能不足ではなく、「元データの形」が原因で起きています。原因ごとに見ていきます。
原因①:結合セル──同じ項目に見えて実は空白セルだらけ
見やすさのために、日付や担当者名のセルを結合して、同じ値が続く行はまとめて表示している元データをよく見かけます。人間の目には親切でも、ピボットテーブルにとっては大きな障害です。
結合セルは、先頭のセルだけに値が入っていて、残りは空白という構造です。ピボットテーブルが1行ずつデータを読むとき、結合された2行目以降は「空白」として扱われ、日付や担当者が「(空白)」という項目にまとめられてしまいます。
直し方:結合を解除し、すべての行に同じ値をコピーして埋めることです。見た目が単調になっても構いません。Ctrl+G(ジャンプ)→「セル選択」→「空白セル」で結合解除後の空白セルを一括選択し、=1つ上のセルを入力してCtrl+Enterで一括確定すると、手作業より速く埋められます。
原因②:空白見出し・不明瞭な見出し──1列に2つの意味を詰め込まない
ピボットテーブルは、表の1行目にある見出し文字列をフィールド名として認識します。ここが崩れているとうまく動きません。
- 見出し行の一部のセルが空白(結合セルの見出し、2段見出しなど)
- 1つの列見出しに「支店/担当者」のように2つの意味が同居している
- 見出しの上にタイトルや空白行があり、表の開始位置が曖昧
見出しが空白だと、ピボットテーブル作成時に「無効な参照です」というエラーになったり、フィールド名が「列1」のような無意味な名前で自動生成されたりします。1列に2つの意味が同居していると、本来は支店ごと・担当者ごとに分けて集計したいのに、分解して集計できません。
直し方:見出しは1行・1セル・1項目に統一します。「支店/担当者」なら「支店」列と「担当者」列に分割し、それぞれ独立した見出しを付けます。タイトルや空白行は表の外に出し、表の1行目=見出し、2行目からすぐデータという構造にそろえます。
原因③:小計行の混入──集計データを集計データに混ぜない
元データの中に、すでに集計済みの小計行・合計行が混ざっているケースも要注意です。
- 「◯月度 小計」「合計」といった行が、明細データの間に挟まっている
- 見出し行が複数回登場する(複数の表を1シートに貼り付けた結果)
- 空白行で区切られた複数のブロックが1シートに同居している
ピボットテーブルはこれらを個別の1件のデータとして扱ってしまいます。結果、小計行の数字まで合計に加算されてしまい、実際の売上の2倍近い数字が出るといった事故につながります。「集計結果が明らかにおかしい」ときは、まずこの混入を疑ってください。
直し方:元データから小計行・合計行・区切りの空白行・重複した見出し行をすべて削除し、明細データだけが1つのブロックとして連続する形にします。集計はピボットテーブル側にまかせ、元データでは絶対に集計しない、と割り切るのが安全です。
「1行1件」=縦持ちデータという考え方
ここまでの3つの原因に共通するのが、「1行1件(レコード)」になっていないという点です。ピボットテーブルが前提とするのは、こういう形です。
| 日付 | 支店 | 担当者 | 商品 | 金額 |
|---|---|---|---|---|
| 2026/7/1 | 東京 | 佐藤 | A | 12,000 |
| 2026/7/1 | 東京 | 鈴木 | B | 8,000 |
| 2026/7/2 | 大阪 | 田中 | A | 15,000 |
これを縦持ちデータと呼びます。1行が必ず1つの取引・1つの出来事を表し、見出しに空白がなく、結合もなく、小計も混ざっていません。
これに対して、月ごとに列を横に増やしていく「横持ち」の表(例:支店を行に、1月・2月・3月…を列に並べて数字を埋めていく集計済みの表)は、人間が読むには見やすくても、ピボットテーブルの元データには向きません。すでに集計されている時点で、ピボットテーブルにとっては「これ以上分解できないデータ」になってしまうからです。元データは常に縦持ちの明細、見せ方の横展開はピボットテーブル側にまかせる、と役割を分けるのが鉄則です。
更新ボタンの存在を忘れない
元データを正しい形に直しても、もう1つ見落としがちな点があります。ピボットテーブルは、**元データを直接見ているわけではなく、作成した瞬間のデータのコピー(キャッシュ)**を持っています。そのため、元データを追加・修正しても、自動では反映されません。
反映させるには、ピボットテーブルの上で右クリック→「更新」(または「すべて更新」)を押す必要があります。「データを直したのに数字が変わらない」というときは、故障ではなく、この更新を押し忘れているだけというケースが非常に多いです。
さらに、元データの範囲が固定されたまま行が増えている場合は、更新だけでは新しい行が範囲外のままのことがあります。ピボットテーブル作成時に「テーブル」化しておくか、元データの範囲設定を「データソースの変更」で広げ直すと確実です。
ブラウザで安全に試すなら
「1行1件」に直したデータが、実際にどうクロス集計されるのか、手元のExcelを開く前に感覚をつかみたい場合は、ピボットテーブルを整える で確認できます。14行のサンプルデータを使い、行・列にフィールドをクリックで割り当てるだけでクロス集計表がその場で組み上がり、集計セルをクリックすると元データのどの行から来た数字かがハイライトされます。同じ集計をSUMIFSで書いた場合の数式も自動生成されるので、ピボットと数式どちらで組むか迷ったときの比較にも使えます。入力・操作はすべてブラウザ内で完結し、外部には送信されません。
ピボットテーブルは「作る技術」より「元データを整える意識」が9割です。結合セルをやめ、見出しを1行1項目にそろえ、小計行を混ぜない——この3つを守るだけで、崩れないピボットテーブルになります。