エクセルのピボットテーブルが更新されない?よくある原因と直し方まとめ

Excel

売上データを追加したのに、ピボットテーブルの集計結果が変わらない…。せっかく元データを更新したのに反映されないと、「壊れたのかな?」と不安になりますよね。実はこれ、多くの場合エクセルの仕様と設定の見落としが原因で、正しい手順さえ知っていれば簡単に直せます。

元データを追加・修正したのに、ピボットテーブルの数字がまったく変わらない。。

「更新」ボタンを押しても、新しく追加した行だけ集計に入ってこない。。

更新したはずなのに、一部の項目や数値だけ古いままになっている。。

本記事では、ピボットテーブルが更新されない主な原因を切り分けながら、それぞれの直し方を手順つきで紹介します!

そもそもピボットテーブルは「自動更新」されない

ピボットテーブルは、元データを直接見ながら計算しているわけではありません。作成した時点のデータを内部に「スナップショット」として持っていて、元データを書き換えても、こちらから明示的に「更新」を指示しない限り自動では反映されない仕様になっています。まずはこの前提を押さえておきましょう。

対策1:「更新」ボタンで最新のデータを反映する

最も基本的な対処法は、ピボットテーブル上で明示的に更新をかけることです。ピボットテーブル内のセルを右クリックして「更新」を選ぶか、リボンから更新を実行するだけで、既存の範囲内のデータ変更はすぐに反映されます。

操作手順

  1. ピボットテーブル内の任意のセルをクリックして選択する
  2. そのセルを右クリックし、メニューから「更新」をクリックする(またはピボットテーブル分析タブ→「更新」ボタン)
  3. 集計結果が最新の数値に変わることを確認する
ピボットテーブルを右クリックして「更新」を選択している画面

対策2:新しく追加した行が集計対象に入っていないとき

「更新」を押しても新しい行だけ反映されない場合、原因は元データの参照範囲そのものが古いままになっていることがほとんどです。通常のセル範囲を参照している場合、あとから追加した行は自動では範囲に含まれません。この場合は、元データを「テーブル」に変換しておくのが確実です。

操作手順

  1. 元データの表内のセルを選択し、「挿入」タブ→「テーブル」をクリックする(またはCtrl+Tキー)
  2. 「先頭行をテーブルの見出しとして使用する」にチェックが入っていることを確認し「OK」をクリックする
  3. ピボットテーブルを右クリックして「更新」を実行する

テーブル化しておけば、以降は行を追加するたびに範囲が自動で広がるため、「更新」ボタンを押すだけで新しいデータも確実に集計対象に入るようになります。

元データをテーブルに変換するダイアログが表示されている画面

すでにテーブル化してある場合でも、ピボットテーブル作成時に参照した範囲がテーブルの外側だった場合は同じ症状が起きます。その際は「ピボットテーブル分析」タブの「データソースの変更」から、参照範囲をテーブル名(例:テーブル1)に指定し直しましょう。

対策3:更新しても一部の数値だけ古いままのとき

通常の「更新」では反映されない、より根深いズレが起きているケースもあります。その場合は、すべてのピボットテーブルとキャッシュを一括で作り直す「全データ更新」を試してみましょう。

  • 「ピボットテーブル分析」タブ→「更新」の下矢印→「すべて更新」をクリックする(ショートカットはCtrl+Alt+F5)
  • 元データ内に空白行・空白列が混ざっていないか確認する(空白があるとその手前までしか集計範囲に含まれないことがある)
  • 数値のはずの列に、文字列として入力されたデータが混ざっていないか確認する(見た目は数字でも左揃えになっている場合は要注意)
  • 元データのセルが結合されていないか確認する(結合セルがあると行・列の対応がずれて正しく集計されないことがある)

文字列と数値が混在してしまう原因は、他の作業で別シートの値をそのまま貼り付けた場合などにもよく起こります。心当たりがある方は別シートの参照が反映されないときの記事もあわせて確認してみてください。

また、「設定を変えたはずなのに見た目に反映されない」という点では、条件付き書式でも似たようなつまずきが起こります。ピボットテーブルの集計結果に色分けを追加している場合は条件付き書式のコピーがうまくいかないときの記事も参考になります。

目的別・おすすめの対策

症状おすすめの対策
元データを変更したが数字が変わらないピボットテーブルを右クリックして「更新」を実行する(対策1)
追加した行だけ集計に入らない元データをテーブル化し、参照範囲を自動拡張させる(対策2)
更新しても一部だけ古いまま「すべて更新」を実行し、空白行・結合セル・文字列混在をチェックする(対策3)

まとめ

ピボットテーブルはそもそも自動更新されない仕組みのため、元データを変えたら「更新」を実行するのが基本です。それでも新しい行が反映されないなら、元データをテーブル化して参照範囲を自動拡張させましょう。それでも一部の数値だけ古いままの場合は、「すべて更新」に加えて空白行・結合セル・文字列と数値の混在をチェックすれば、ほとんどのケースは解決できます。

タイトルとURLをコピーしました