Home / Microsoft / Excel / Excelのピボットテーブルがリフレッシュ・更新できない原因と対処法【2026年最新版】

Excelのピボットテーブルがリフレッシュ・更新できない原因と対処法【2026年最新版】

※本ページにはプロモーション(広告)が含まれています

Excelのピボットテーブルがリフレッシュ・更新できない原因と対処法【2026年最新版】

Excelのピボットテーブルを使っているとき、「データを変更したのに反映されない」「更新ボタンを押しても何も変わらない」という状況に陥ったことはありませんか?

ピボットテーブルは手動または自動で「リフレッシュ(更新)」をしなければ、元データの変更が反映されない仕組みになっています。しかし、正しい方法で更新しようとしても、なぜかうまくいかないケースが多くあります。

この記事では、ピボットテーブルが更新できない・リフレッシュされない原因を7つ取り上げ、それぞれの具体的な対処法をわかりやすく解説します。初心者の方でも手順通りに進めれば解決できる内容になっていますので、ぜひ参考にしてください。


この記事でわかること

  • ピボットテーブルのリフレッシュ(更新)の基本的な仕組み
  • 更新できない・反映されない7つの原因
  • 原因ごとの具体的な解決方法
  • ピボットテーブルを自動更新する設定方法
  • よくある質問と回答(FAQ)

ピボットテーブルのリフレッシュとは?基本の仕組みを理解する

ピボットテーブルを正しく更新するには、まずその仕組みを理解することが大切です。

ピボットテーブルはデータのコピーを持っている

ピボットテーブルは、元データ(ソースデータ)を直接参照しているわけではありません。Excelはピボットテーブルを作成した時点で、元データの「スナップショット(コピー)」を内部キャッシュとして保存します。

このキャッシュを「ピボットキャッシュ」と呼びます。ピボットテーブルに表示されるデータはすべてこのキャッシュから引き出されるため、元データを変更してもキャッシュが更新されるまではピボットテーブルに変更が反映されません。

リフレッシュとは何をしているか

「リフレッシュ(更新)」とは、ピボットキャッシュを最新の元データで上書きする処理です。リフレッシュを行うことで、元データで追加・変更・削除した内容がピボットテーブルに反映されます。

リフレッシュの基本的な方法

ピボットテーブルを更新する最も基本的な方法は以下の2つです。

  • 右クリックメニューから更新:ピボットテーブルの任意のセルを右クリック →「更新」を選択
  • リボンから更新:「ピボットテーブル分析」タブ →「更新」ボタンをクリック

これらの方法で更新できない場合は、以下で説明する7つの原因のいずれかが当てはまっている可能性があります。


ピボットテーブルが更新できない原因7選

ピボットテーブルのリフレッシュがうまくいかない原因には、さまざまなものがあります。以下の7つが特によく見られるケースです。

原因 主な症状 難易度
元データの範囲が変わっている 新しい行・列が反映されない 初級
元データのシートが保護されている 更新ボタンが押せない・エラーが出る 初級
ファイルが「読み取り専用」になっている 変更が保存できず更新も反映されない 初級
外部データソースへの接続が切れている 接続エラーが表示される 中級
マクロやVBAの競合 特定の操作後に更新されなくなる 中級
ピボットテーブルの設定が原因 特定の列だけ更新されない 初級
Excelのバグまたは破損 何をしても更新されない 中級

原因1:元データの範囲が変わっている(新しい行が認識されない)

最もよくある原因のひとつが、元データに行や列を追加したが、ピボットテーブルのデータ範囲に含まれていないというケースです。

ピボットテーブルを最初に作成したとき、データ範囲が「A1:D100」に設定されていたとします。その後、データを101行目以降に追加しても、ピボットテーブルのデータ範囲はまだ「A1:D100」のまま。そのため、リフレッシュしても新しいデータが表示されません。

原因2:元データのシートが保護されている

Excelのシート保護機能が有効になっていると、ピボットテーブルの更新がブロックされることがあります。特に、複数人で共有しているファイルや、テンプレートとして配布されているファイルでよく見られます。

原因3:ファイルが「読み取り専用」になっている

ファイルを「読み取り専用」モードで開いている場合、内容の変更(リフレッシュを含む)が保存されません。メールに添付されたExcelファイルをそのまま開いた場合や、ネットワーク上の共有フォルダから開いた場合に発生しやすいです。

原因4:外部データソースへの接続が切れている

ピボットテーブルが外部のデータベースやCSVファイル、別のExcelブックなどを参照している場合、そのデータソースへの接続が切れていると更新できなくなります。ファイルの場所が変わったり、データベースのサーバーが停止したりしたときに起こります。

原因5:マクロやVBAの競合

ファイルにマクロ(VBA)が組み込まれている場合、そのマクロが意図せずピボットテーブルの更新を妨害していることがあります。また、「ファイルを開いたときに自動更新するマクロ」が途中でエラーになって止まっている場合もあります。

原因6:ピボットテーブルの設定が原因(フィールドの書式設定など)

「フィールドの書式設定」で「更新時にセルの書式を保持する」にチェックが入っていると、更新後も古い書式が残って、データが変わっていないように見えることがあります。また、フィルターがかかっていて特定のデータしか見えていない場合も、更新されていないと誤解しやすいです。

原因7:Excelのバグまたはファイルの破損

まれに、Excelのバグやファイルの破損によってピボットテーブルが正常に更新できなくなることがあります。特定のバージョンのExcelで発生する既知のバグである場合もあります。


原因別の対処法(詳細手順)

それぞれの原因に対応した具体的な解決方法を紹介します。

対処法1:データ範囲を再設定する

元データに新しい行や列を追加した場合は、ピボットテーブルのデータ範囲を更新する必要があります。

手順:ピボットテーブルのデータ範囲を変更する

  1. ピボットテーブル内の任意のセルをクリックして選択します
  2. 画面上部のリボンに「ピボットテーブル分析」タブが表示されます(表示されない場合はピボットテーブルが選択されているか確認してください)
  3. 「ピボットテーブル分析」タブの左側にある「データ ソースの変更」をクリックします
  4. 「ピボットテーブルのデータ ソースの変更」ダイアログが開きます
  5. 「テーブル/範囲」欄に表示されている範囲を確認し、新しいデータが含まれるように範囲を広げます(例:「Sheet1!$A$1:$D$100」→「Sheet1!$A$1:$D$200」)
  6. 「OK」をクリックします
  7. ピボットテーブルが自動的に更新されます

テーブル(Table)機能を使って自動対応する方法

もっと賢い方法は、元データをExcelの「テーブル」に変換することです。テーブルは行を追加すると自動的に範囲が拡張されるため、データ範囲のズレが起きなくなります。

  1. 元データの任意のセルをクリックします
  2. キーボードの「Ctrl + T」を押します(または「挿入」タブ →「テーブル」)
  3. 「テーブルの作成」ダイアログで範囲を確認し「OK」をクリックします
  4. 元データがテーブルに変換されます
  5. ピボットテーブルを再作成するか、「データ ソースの変更」でテーブル名(例:「テーブル1」)を指定します

テーブルに変換すると、新しい行を追加するたびに自動でテーブルが拡張されるため、以後はデータ範囲の再設定が不要になります。

対処法2:シートの保護を解除する

シートが保護されている場合は、保護を解除してからリフレッシュを行います。

手順

  1. 「校閲」タブをクリックします
  2. 「シートの保護の解除」ボタンをクリックします(ボタンが「シートの保護」と表示されている場合は、すでに保護が解除されています)
  3. パスワードを求められた場合は、ファイルの管理者に確認してください
  4. 保護が解除されたら、ピボットテーブルを右クリック →「更新」を選択します

保護したままピボットテーブルを更新可能にする方法

シートを保護したままピボットテーブルの更新だけを許可することもできます。

  1. 「校閲」タブ →「シートの保護」をクリックします
  2. 「シートの保護」ダイアログの一覧で「ピボット テーブルを使用する」にチェックを入れます
  3. 「OK」をクリックしてシートを保護します

これにより、シートが保護された状態でもピボットテーブルの更新が可能になります。

対処法3:読み取り専用モードを解除する

ファイルが読み取り専用の場合、通常通り編集できる状態にしてから更新を試みます。

確認方法

Excelの画面上部のタイトルバーに「[読み取り専用]」と表示されている場合は読み取り専用モードです。また、画面上部に黄色い帯で「このファイルは読み取り専用です」などの警告が表示されることもあります。

手順

  • メールの添付ファイルの場合:黄色い帯の「編集を有効にする」ボタンをクリックします
  • ファイルの属性が読み取り専用になっている場合:エクスプローラーでファイルを右クリック →「プロパティ」→「全般」タブの「読み取り専用」チェックを外す →「OK」をクリック
  • 「名前を付けて保存」で別名保存:「ファイル」メニュー →「名前を付けて保存」で別のフォルダに保存し、そのファイルを開きます

対処法4:外部データソースの接続を修復する

外部データ(別ブック、CSVファイル、データベースなど)への接続が切れている場合の対処法です。

接続の確認と修復手順

  1. 「データ」タブ →「接続」→「すべての接続」をクリックします(Excel 2019以降は「クエリおよび接続」)
  2. 接続の一覧が表示されます。赤い「×」マークや感嘆符が表示されている接続が問題のある接続です
  3. 問題のある接続を選択して「プロパティ」をクリックします
  4. 「接続のプロパティ」ダイアログで「定義」タブを開き、「接続文字列」または「コマンド テキスト」を確認します
  5. ファイルのパスが変わった場合は正しいパスに修正して「OK」をクリックします

別ブックへの接続が切れた場合

  1. 「データ」タブ →「リンクの編集」をクリックします
  2. リンクの一覧から問題のあるリンクを選択します
  3. 「ソースの変更」をクリックして正しいファイルの場所を指定します
  4. 「リンクの更新」をクリックして接続を更新します

対処法5:マクロ・VBAの問題を解決する

マクロが原因の場合は、まずマクロを無効化してピボットテーブルを更新できるか確認します。

手順:マクロを一時的に無効にして確認する

  1. 「ファイル」→「オプション」→「セキュリティ センター」→「セキュリティ センターの設定」をクリックします
  2. 「マクロの設定」→「すべてのマクロを無効にする(通知なし)」を選択します
  3. 「OK」で閉じ、ファイルを一度閉じて再度開きます
  4. マクロが無効な状態でピボットテーブルの更新を試みます

これで更新できた場合は、マクロが原因です。VBAのコードを確認し、ピボットテーブルの更新処理(`PivotTable.RefreshTable`)の前後でエラーが発生していないか調べます。

よくあるVBAのエラーパターン

  • 更新前にデータソースのファイルを開くコードが失敗している
  • `Application.EnableEvents = False` で更新イベントがブロックされている
  • エラー処理が不十分でマクロが途中で止まっている

対処法6:ピボットテーブルの設定を見直す

「更新時にセルの書式を保持する」設定の確認

  1. ピボットテーブル内の任意のセルを右クリックします
  2. 「ピボットテーブル オプション」をクリックします
  3. 「レイアウトと書式」タブを開きます
  4. 「更新時にセルの書式を保持する」のチェックが必要かどうか確認します
  5. データが更新されているのに古いデータに見える場合は、このチェックを外してみます

フィルターが原因で見えていない場合の確認

  1. ピボットテーブルの「行ラベル」または「列ラベル」のドロップダウン矢印をクリックします
  2. 「(すべて選択)」にチェックが入っているか確認します
  3. チェックが外れている項目がある場合は、それがフィルターで非表示になっています
  4. 「(すべて選択)」にチェックを入れて「OK」をクリックすると、すべてのデータが表示されます

更新後にフィールドが消えた場合の対処

更新後にフィールド(行・列・値)が消えてしまう場合は、「フィールドの設定」で「データのないアイテムを表示する」にチェックが入っているか確認してください。

  1. ピボットテーブルのフィールドヘッダーを右クリックします
  2. 「フィールドの設定」をクリックします
  3. 「レイアウトと印刷」タブで「データのないアイテムを表示する」のチェックを確認します

対処法7:Excelのバグ・ファイル破損への対処

Excelを最新バージョンに更新する

  1. Excelを開き、「ファイル」→「アカウント」をクリックします
  2. 「Office の更新プログラム」→「今すぐ更新」をクリックします
  3. 更新後、Excelを再起動してピボットテーブルの更新を試みます

ピボットテーブルを作り直す

ピボットテーブルが破損している場合は、削除して作り直すのが最も確実な方法です。

  1. 問題のあるピボットテーブル全体を選択します(ピボットテーブル内のセルをクリック →「ピボットテーブル分析」→「選択」→「ピボットテーブル全体」)
  2. Deleteキーでピボットテーブルを削除します
  3. 元データの任意のセルをクリックします
  4. 「挿入」タブ →「ピボットテーブル」をクリックして新規作成します

ファイルを「Open and Repair(開いて修復)」する

  1. Excelを起動します(ファイルは開かないでください)
  2. 「ファイル」→「開く」→「参照」をクリックします
  3. 問題のあるファイルを選択します(まだ開かないでください)
  4. 「開く」ボタンの右にある「▼」をクリックします
  5. 「開いて修復する」を選択します
  6. 「修復」をクリックします

ピボットテーブルを自動更新する設定方法

毎回手動でリフレッシュするのが面倒な場合は、自動更新の設定を行いましょう。

方法1:ファイルを開いたときに自動更新する

この設定を有効にすると、Excelファイルを開くたびにピボットテーブルが自動的に更新されます。

  1. ピボットテーブル内の任意のセルをクリックします
  2. 右クリック →「ピボットテーブル オプション」をクリックします
  3. 「データ」タブを開きます
  4. 「ファイルを開くときにデータを更新する」にチェックを入れます
  5. 「OK」をクリックします

これで次回以降、ファイルを開くたびに自動的に最新データでピボットテーブルが更新されます。

方法2:一定時間ごとに自動更新する(外部データソースの場合)

外部データソース(データベースなど)に接続している場合は、指定した時間ごとに自動更新することもできます。

  1. 「データ」タブ →「接続」→「すべての接続」をクリックします
  2. 更新したい接続を選択して「プロパティ」をクリックします
  3. 「使用状況」タブを開きます
  4. 「更新の制御」で「更新する間隔」にチェックを入れ、分数を指定します
  5. 「OK」をクリックします

方法3:VBAで自動更新を設定する

より高度な自動更新を実現したい場合は、VBAを使ってシートのデータ変更時に自動でリフレッシュされるよう設定できます。

Excelのシートモジュールに以下のようなコードを記述することで、シートのデータが変更されるたびにピボットテーブルが自動更新されます。この方法はVBAの知識が必要ですが、毎回手動で更新する手間が完全になくなります。

VBAを使った自動更新は「開発」タブ →「Visual Basic」から設定できます。「開発」タブが表示されていない場合は、「ファイル」→「オプション」→「リボンのユーザー設定」で「開発」にチェックを入れて有効化してください。

方法4:Power Queryと組み合わせて使う(Excel 2016以降)

Excel 2016以降では「Power Query(パワークエリ)」という機能を使うことで、より柔軟な自動更新が可能になります。Power Queryでデータを取り込み、そのクエリをピボットテーブルのデータソースにすると、クエリの更新と同時にピボットテーブルも更新されます。

  1. 「データ」タブ →「データの取得」→「ファイルから」または「データベースから」でデータを取り込みます
  2. 「テーブルまたは範囲から」でクエリを作成します
  3. 「閉じて読み込む」の際に「接続専用」または「テーブル」としてシートに読み込みます
  4. そのテーブルを元にピボットテーブルを作成します
  5. 「データ」タブ →「すべて更新」でクエリとピボットテーブルが同時に更新されます

ピボットテーブルの更新に関するよくある質問(FAQ)

Q1. リフレッシュしたらピボットテーブルのレイアウトが崩れてしまいました。どうすれば元に戻せますか?

A. これはピボットテーブルの「列幅の自動調整」設定が原因です。以下の手順で防ぐことができます。

  1. ピボットテーブル内を右クリック →「ピボットテーブル オプション」を開きます
  2. 「レイアウトと書式」タブの「更新時に列幅を自動調整する」のチェックを外します
  3. 「更新時にセルの書式を保持する」にチェックを入れます
  4. 「OK」をクリックします

これ以降は更新してもレイアウトが崩れにくくなります。

Q2. ピボットテーブルを更新すると「データ ソース参照が正しくありません」というエラーが出ます

A. このエラーはデータソースの範囲指定に問題があるときに表示されます。主な原因と対処法は以下の通りです。

  • 元データのシートが削除または名前変更された:「データ ソースの変更」で正しいシートと範囲を再設定してください
  • データ範囲に空白行や空白列がある:元データの空白行・列を削除して範囲を再設定してください
  • ファイルが別の場所に移動した:ファイルを元の場所に戻すか、接続を再設定してください

Q3. 「すべて更新」を押すと他のピボットテーブルも更新されてしまいます。特定のピボットテーブルだけ更新できますか?

A. はい、できます。特定のピボットテーブルだけを更新したい場合は「すべて更新」ではなく、そのピボットテーブルを右クリックして「更新」を選択してください。

または、ピボットテーブル内のセルを選択した状態で「ピボットテーブル分析」タブ →「更新」ボタンの上部(アイコン部分)をクリックしても、選択中のピボットテーブルだけを更新できます。

Q4. 元データを変更しても、なぜかピボットテーブルには古いデータが残っています

A. ピボットテーブルは元データを変更しても自動で更新されません(ファイルを開いたときに自動更新する設定をしていない限り)。元データを変更した後は必ず手動でリフレッシュを行ってください。

また、以下も確認してください。

  • 変更したデータがピボットテーブルのデータ範囲内に含まれているか
  • フィルターがかかって古いデータが見えているだけではないか
  • 同じブックに複数のピボットキャッシュがあり、別のキャッシュを参照していないか

Q5. 更新すると数値が0になってしまいます

A. 更新後に数値が0になる場合は、以下の原因が考えられます。

  • 元データの数値が文字列として入力されている:元データのセルの表示形式を確認し、「数値」に変更してください。文字列として保存された数値(左寄せで表示される数値)はピボットテーブルで正しく集計されません
  • 集計方法が「個数(Count)」になっている:値フィールドを右クリック →「値フィールドの設定」で集計方法を「合計(Sum)」に変更してください
  • データ範囲が正しくない:集計したいデータが範囲外になっていないか確認してください

Q6. 共有ブック(共同編集)でピボットテーブルが更新できません

A. Excelのレガシーな「ブックの共有」機能を使っている場合、ピボットテーブルの一部の機能が制限されます。この場合は以下の対処法を試してください。

  • 共有を一時解除して更新する:「校閲」タブ →「ブックの共有(レガシー)」→「複数のユーザーによる変更を許可する」のチェックを外す → 更新後に再び共有設定をONにする
  • OneDriveまたはSharePointで共同編集する:最新の共同編集機能に切り替えることでピボットテーブルの制限が解消されます

Q7. ピボットテーブルの「グループ化」した日付が更新後に消えてしまいます

A. これは元データに空白セルや、日付以外の値が含まれている場合によく起こります。以下を確認してください。

  • 元データの日付列に空白セルがないか確認してください。空白セルがあると日付のグループ化が解除されることがあります
  • 日付列のすべてのセルが「日付」形式で入力されているか確認してください(文字列として入力された日付は日付と認識されないことがあります)
  • 空白セルが必要な場合は、ダミーの日付(例:1900/1/1)を入力してグループ化が解除されないようにする回避策もあります

Q8. ピボットテーブルの更新が非常に遅い。高速化する方法はありますか?

A. ピボットテーブルの更新が遅い場合は、以下の方法で高速化できることがあります。

  • 「ファイルと一緒にソースデータを保存する」を無効にする:ピボットテーブル オプション →「データ」タブ →「ファイルと一緒にソースデータを保存する」のチェックを外す(ファイルサイズと読み込み時間が削減されます)
  • 不要なピボットテーブルを削除する:同じブック内に多数のピボットテーブルがある場合、不要なものを削除して更新処理を軽くします
  • ピボットキャッシュを共有する:同じデータソースを参照するピボットテーブルは、キャッシュを共有することでメモリ使用量を減らせます(VBAまたは手動で設定可能)
  • 元データを整理する:不要な列・行を削除し、データ量を最小限にすることで更新が速くなります

まとめ:ピボットテーブルのリフレッシュ問題は原因特定が9割

ピボットテーブルが更新できない・リフレッシュされない問題は、原因さえ特定できれば解決は難しくありません。

この記事で紹介した7つの原因と対処法をまとめます。

原因 チェックポイント 対処法
データ範囲のズレ 新しい行・列が含まれているか データ ソースの変更/テーブル化
シートの保護 「校閲」タブに「保護の解除」があるか シート保護を解除またはピボット更新を許可
読み取り専用 タイトルバーに「[読み取り専用]」があるか 「編集を有効にする」または別名保存
外部接続の切断 接続エラーが表示されるか 「データ」→「接続」で接続を修復
マクロの競合 マクロ無効時に更新できるか VBAコードのエラーを修正
ピボット設定の問題 フィルター・書式設定を確認 ピボットテーブル オプションを見直し
バグ・ファイル破損 他の方法で解決しない場合 Excelの更新/「開いて修復」/ピボット再作成

まずは「データ範囲のズレ」と「シートの保護」の2つを確認してみてください。この2つが原因であることが最も多いため、ここから始めるのが効率的です。

それでも解決しない場合は、順番に他の原因を確認していきましょう。また、今後同じ問題を防ぐためには、元データをテーブルに変換することと、「ファイルを開くときに自動更新」を有効にすることをおすすめします。この2つの設定をするだけで、多くのリフレッシュトラブルを未然に防ぐことができます。

ピボットテーブルのトラブルでお困りの際は、この記事を参考に一つひとつ原因を確認してみてください。

Check Also

【2026年最新版】Excelの条件付き書式が反映されない・効かない原因と対処法【完全ガイド】

Excelの条件付き書式が反映 …