Excel のピボットテーブルのキャッシュに残る元データ:元のシートを消しても戻る仕組みと、確かめ方
最終更新日:2026 年 10 月 19 日
要点:ピボットテーブルは、集計のもとになった行を「ピボットのキャッシュ」としてブックの中に持ちます。元のデータのシートを消しても、キャッシュは残ることがあります。私たちが合成したブックで試したところ、元のシートを消して保存したブックでも、集計のセルの詳細の表示(ダブルクリックと同じ操作)で、元の行がすべて新しいシートに戻りました。ドキュメント検査は、このキャッシュを見つけても削除しません。元データを渡したくないなら、ピボットテーブルを値として貼り付けたブックを送ります。
非表示のシートや行に残るデータはExcel の非表示のシートの記事に、送る前の全体の手順はExcel の個人情報を送る前ににまとめています。このページはピボットのキャッシュだけを扱います。
キャッシュとは何か
ピボットテーブルを作ると、Excel は元の範囲のデータを写し取り、それをもとに集計します。.xlsx の中では、写し取ったデータは xl/pivotCache/ のフォルダーに入ります(ECMA-376 第 1 部 §18.10、ピボットテーブル)。
pivotCacheDefinition1.xml:元の範囲の場所、列の名前、列ごとの値の一覧。最後に更新した人のユーザー名(refreshedBy)が入ることもあります。pivotCacheRecords1.xml:元のデータの行そのもの。
Microsoft の「ピボットテーブル オプション」は、[データ]タブの[ファイルを使用してソース データを保存する]を「ブックと共に外部データ ソースのデータを保存するか、保存しないかを選択するかオフします。」、[詳細の表示を有効にする]を「データ ソースから詳細データにドリルダウンし、新しいワークシートにデータを表示できるようにするには、オンまたはオフにします。」と説明しています。
元のシートを消しても戻る(合成したブックで確かめた)
2026 年 10 月 19 日に、Windows の Excel(Microsoft 365)で次のことを試しました。使ったのは架空の値だけを入れた合成のブックで、実在のデータではありません。
- 元のシートに 2 行のデータ(名前と金額)を入れ、別のシートにピボットテーブルを作りました。値のフィールドには「金額」だけを置きました。
- 元のシートを削除して .xlsx で保存し、閉じて開き直しました。
- Excel を自動で操作する命令で、集計のセルの詳細の表示(ShowDetail、セルをダブルクリックするのと同じ操作)を行いました。
結果は次のとおりです。
- 設定を変えないとき:保存したファイルの
pivotCacheRecords1.xmlに、消したシートの 2 行がそのまま入っていました。詳細の表示で新しいシートができ、消した行が戻りました。Microsoft の「ピボットテーブルまたはピボットグラフで詳細の展開、折りたたみ、または表示を行う」も、「値フィールドの基になる詳細データが新しいワークシートに配置されます。」と書いています。 - [ファイルを使用してソース データを保存する]を外したとき:
pivotCacheRecords1.xmlは保存されず、詳細の表示はできませんでした。また、別の試験で「名前」を行のフィールドに加え、同じく保存しない設定にしたところ、「名前」の値がpivotCacheDefinition1.xmlの値の一覧に残っていました。 - どちらのときも:キャッシュの定義に、最後に更新した人のユーザー名が入っていました。
これは一つの版の Excel で試した結果です。お使いの版や、外部のデータから作ったピボットテーブルでは違うことがあります。また、同じページの「データ ソース セクションから削除したアイテムを保持する」の設定によっては、元のデータから消した項目がキャッシュの値の一覧に残ることがあります。
ドキュメント検査の扱い
Microsoft のドキュメント検査のページは、「キャッシュ データありの BI 機能」を「ドキュメント検査で見つけて削除できない情報」に挙げ、「ドキュメント検査では、ピボットキャッシュ、スライサーキャッシュ、またはキューブ式のキャッシュが含まれている可能性がある次の項目が確認されます。」と書いています。理由は、ブックが正しく動かなくなるおそれがあるためです。ドキュメント検査で[すべて削除]を押しても、キャッシュは残ると考えてください。
元データを渡さないための手順
- 送るための写しを作り、その写しで作業します。
- 相手に要るのが集計の結果だけなら、ピボットテーブルを選んでコピーし、新しいブックに値として貼り付けます。送るのはその新しいブックです。
- ピボットテーブルのまま送る必要があるなら、[ファイルを使用してソース データを保存する]を外して保存し直します。それでも、表に使った項目の値と、表に出ている数字は相手に見えます。
- 写しの拡張子を .zip に変えて開き、
xl/pivotCache/のフォルダーがあるか、pivotCacheRecordsの部品があるかを見ます。テキストとして開くと、元の行の値が読めます。 - 開き直した写しで、集計のセルをダブルクリックしてみます。新しいシートに元の行が出るなら、キャッシュは残っています。
ScrubDrop がすること
ScrubDrop は .docx・.xlsx・.pptx をブラウザーの中で読み、ファイルはアップロードしません。ピボットテーブル・キャッシュ・スライサー・タイムラインを見つけて、無料で件数と例を表示します。キャッシュの定義に入っている、最後に更新した人のユーザー名は文書のプロパティとして扱い、無料版で取り除きます(1 回に 1 ファイル)。ピボットテーブルとキャッシュを取り除くのは ScrubDrop Pro で、取り除くとピボットテーブルとキャッシュの部品が無くなり、シートには表に出ていたセルの値が残ります。ピボットテーブルの取り除きを選んだとき、ピボットグラフ・スライサー・タイムラインや、ピボットテーブルを読む GETPIVOTDATA の数式があるブックは、壊れたまま書き出さないよう理由を示して断ります。Excel で先に直すか、ピボットテーブルの取り除きのチェックを外してください。結果は書いたものとは別のソフトでもう一度読み直し、通らなかったファイルは出しません。
よくある質問
元のデータのシートを消せば、ピボットテーブルから元データは消えますか?
消えないことがあります。私たちが合成したブックで試したところ、元のシートを消して保存しても、ピボットのキャッシュに元の行がすべて残り、集計のセルの詳細の表示(ダブルクリックと同じ操作)で新しいシートに元の行が戻りました。送る相手に元データを渡したくないなら、ピボットテーブルを値として貼り付けたブックを送ってください。
ドキュメント検査でピボットのキャッシュは消せますか?
Microsoft のページでは、ピボットのキャッシュを含む「キャッシュ データありの BI 機能」は、ドキュメント検査が見つけても削除できない項目に挙がっています。ブックが正しく動かなくなるおそれがあるため、と書かれています。
「ファイルを使用してソース データを保存する」を外せば足りますか?
外すと、元の行を記録する部品は保存されなくなりました(合成したブックで確かめた)。ただし、行のフィールドに「名前」を使った試験では、その値がキャッシュの定義の部品に残りました(列のフィールドは試していません)。ピボットテーブルを残すなら、表に出ている項目は相手に見えると考えてください。
出典:このページからリンクした Microsoft のページは 2026 年 10 月 19 日に確認しました。ピボットテーブルの試験は同じ日に、Windows の Excel(Microsoft 365)と合成のブックで行いました。
送る前に、ブックにピボットのキャッシュが無いか見てください。ブラウザーの中で動き、アップロードしません。無料版は 1 回に 1 ファイルで、見つけた隠れたデータを対応する種類について一覧にし、プロパティ・コメントを取り除き、変更履歴は承諾して取り除きます。ファイルを確認