ScrubDrop

ScrubDrop › ガイド

Excel ブックの Power Query:データを読み込んだあとも残る手順・取り込み元のパス・サーバー名・更新の情報

最終更新日:2026 年 10 月 28 日

要点:Power Query([データ]→[データの取得])で読み込んだ表は、値だけではありません。ブックはクエリそのものも持ちます。Power Query エディターで記録された手順の 1 つ 1 つが式として残り、その式は取り込み元のファイルのフルパス、サーバーとデータベースの名前、SQL 文、削除した列の名前、絞り込みに使った値を含むことがあり、最後の更新についての情報も残ります。Microsoft のファイル形式の資料によると、これらは .xlsx のカスタム XML のパーツに base64 で書かれ、式はその中のパッケージにあります。そのため、展開したファイルを文字で検索しても見つからないことがあります。Windows 版の Excel や新しい版の Mac 版の Excel でブックを開けば、だれでも Power Query エディターで手順を読めます。ファイルを送る前にクエリを 1 つずつ読み、相手に要らないクエリは削除してください。

この記事はクエリそのものについて書きます。クエリをシートにつなぐ接続と、ブックに残るほかのパスはExcel に残るフォルダーのパスの記事に、ピボット テーブルが持つ元データの写しはピボット キャッシュの記事に、カスタム XML のパーツ全般はカスタム XML・埋め込みの記事にあります。

この記事が引く Microsoft の日本語のページは、どれも機械翻訳です(ページの ms.translationtype が MT)。ファイル形式の仕様 [MS-QDEFF] には日本語の版が無いので、英語の原文から訳して示します。

クエリは記録された手順の並び

Microsoft のページ「Excel の Power Query について」は、「Power Query エディターは、データに適用する各変換 (ステップ) を記録してラベル付けすることで、データに対して行われたすべての操作を追跡します。」と書き、続けて「各変換は、バックグラウンドのステップとして記録されます。 詳細エディターで Power Query M 言語を使用して、独自の手順を変更および記述することもできます。」と書いています。更新すると「各ステップが自動的に実行されます」。ページ「クエリの管理 (Power Query)」は、「クエリを作成すると、接続情報がバックグラウンドで作成されます。」と書いています。

つまり、手順はクエリがある限りブックに残ります。何かを取り除いた手順も同じです。読み込んだ表が見せるのは結果で、クエリが見せるのは、それをどこからどう作ったかです。

手順の式が持てるもの

手順は Power Query M 言語の式です。Microsoft の M の関数リファレンスを見ると、よく使う関数が何を引数に取るかが分かります。

Microsoft のページ「データ ソースの設定とアクセス許可を管理する (Power Query)」は、データ ソースの資格情報を管理する場所([データ]→[データの取得]→[データ ソース設定]の「現在のブックのデータ ソース」と「グローバル アクセス許可」)と、そこで資格情報の種類([匿名]など)を確かめることを説明していますが、資格情報がどこに保存されるかは書いていません。下で説明する [MS-QDEFF] にも資格情報のためのパーツはありません。ただし、サーバーの名前や、アドレスに含めたキーのように、手順に打ち込んだものは式の一部です。

.xlsx の中のクエリの場所

Microsoft の仕様[MS-QDEFF]: Query Definition File Format(英語)は、スプレッドシートのクエリの Power Query の式と、それに付く情報を保存するための構造を定めています。概要(英語)は、それがスプレッドシートのファイルの中の CustomXML のパーツに保存されると書いています。

.xlsx の中の Power Query の入れ物の部分(Microsoft の [MS-QDEFF] による)
もの持つもの場所
入れ物ブックのすべてのクエリを base64 で。省略できる sqmid(仕様の説明では、テレメトリーのためにスプレッドシートを関連付ける任意の GUID)customXml のフォルダーの、ルート要素が DataMashup のファイル(2.1 Root Element(英語))
式スプレッドシートの各クエリの Power Query の式。パス、サーバー、絞り込みを含むすべての手順入れ物を復号した中のパッケージの /Formulas/Section1.m。プレーン テキストのファイル(2.3.2 Section1.m(英語))
プライバシーの設定プライバシー レベルを使うかどうかと、ブックのプライバシー レベル入れ物の Permissions の部分(2.4 Permissions(英語))
クエリごとの情報仕様の項目の中に、最後の更新の日時、取得した行の数、取得した列の名前の一覧、最後の更新で起きたエラーのメッセージ、クエリを最後に読み込んだワークシートの名前がある入れ物の Metadata XML の部分(2.5.1 Metadata XML(英語))

入れ物は base64 の文字列です。復号すると、式を持つパッケージとほかの部分が順に並んでおり(2.2 Top-level Binary Stream(英語))、そのパッケージは Open Packaging Conventions のパッケージ、つまり .xlsx そのものと同じ種類の ZIP のパッケージです(2.3 Package Parts(英語))。だから、展開した .xlsx をパスやサーバー名で検索しても、クエリがそれを持っているのに何も見つからないことがあります。更新のエラーのメッセージ、シートの名前、列の名前も、同じようにクエリごとの情報の中に残ることがあります。

クエリには xl/connections.xml の接続もあります(Excel に残るフォルダーのパスの記事の「データ接続」)。シートに読み込んだクエリは、シートのテーブル(xl/tables と xl/queryTables)をその接続から埋めます。クエリはデータ モデルに読み込むこともでき(クエリごとの情報の AddedToDataModel。仕様の説明では、クエリがスプレッドシートのデータ モデルに読み込まれたかどうか)、この記事はデータ モデルを扱いません。

だれが見られるか

Power Query のある版の Excel でブックを開く人は、だれでも見られます。Windows では、[データ]→[クエリ & 接続](Microsoft の日本語のページの表記。画面によっては[クエリと接続])の[クエリ]タブにクエリが並び、[編集]で Power Query エディターが開いて、手順が並び、詳細エディターで式が見えます(「クエリの管理」のページは、エディターの[クエリ]ウィンドウのコマンドに詳細エディターを挙げています)。Microsoft のページ「Excel for Mac でデータをインポートおよび整形する (Power Query)」は、Mac 版にも Power Query エディターがあると書き、それは「バージョン 16.69 (23010700) 以降の Excel for Mac を実行していて、Microsoft 365 サブスクリプションをご利用の方が一般的に利用できます。」としています(同じページの別の節には、今も「Excel for Mac では Power Query エディターでの作成は利用できません」と書かれています)。「クエリの管理」のページは、Excel for the web について、「現在のブック内のすべてのクエリが、行数、最終更新日、場所、読み込み状態などのクエリの詳細と共に表示されます。」と書いています。

取り込み元に届かない場所でブックを開いても、クエリは隠れません。手順はファイルの中にあり、更新ができてもできなくても、相手はそれを見られます。

ドキュメント検査が扱うもの

Microsoft のドキュメント検査について説明したページは、Excel の[ドキュメントのプロパティと個人情報]の検査で見つけて削除できる項目に「アクティブでない外部データ接続」を挙げ、別の[カスタム XML データ]の検査は「ブック内に含まれているカスタム XML データ」を取り除くとしています。このページは Power Query にもクエリにも触れていないので、どちらかの検査がクエリの入れ物を取り除くかどうかは書かれていません。検査のあとで、下の手順で写しを確かめてください。

Excel でクエリを読み、削除する

  1. 写しで作業します。[データ]→[クエリ & 接続]を開き、[クエリ]タブを見ます。接続だけで読み込んだクエリも含めて、ブックのクエリはすべてここに並びます。
  2. クエリを 1 つずつ[編集]で開き、Power Query エディターで手順を読みます。続けて詳細エディターを開き、式の全体を読みます。ファイルのパス、サーバーとデータベースの名前、SQL 文、削除した列、絞り込みの条件です。
  3. [データ]→[データの取得]→[データ ソース設定]を開き、「現在のブックのデータ ソース」を選んで、クエリが使うデータ ソースをすべて見ます。
  4. 相手がデータを更新する必要が無ければ、クエリを削除します。[クエリ]タブで各クエリを右クリックし、[削除]を選びます。「クエリの管理」のページの説明は「クエリを削除します。」だけで、クエリが読み込んだ表やクエリの接続がどうなるかは書かれていません。接続については、Microsoft のページ「外部データへの接続を作成、編集、および管理する」が、「接続を削除すると、接続が削除されるだけで、オブジェクトやデータはブックから削除されません。」と書いています。削除のあとで、シートと[クエリ & 接続]の[接続]タブを確かめてください。読み込んだ表をコピーし、新しいブックに値として貼り付ける方法もあります。
  5. 相手が更新する必要があるなら、相手に要らない情報を含む手順を除き、データ ソースを相手が使える場所に向け直します。[データ ソース設定]の[ソースの変更]で変えられます。
  6. 保存して閉じ、送ろうとしている写しを下の手順で確かめます。

ファイルの写しで確かめる

  1. .xlsx の写しを作り、拡張子を .zip に変えて展開します。
  2. customXml のフォルダーがあれば、item のファイルを 1 つずつ開きます。ルート要素が DataMashup のものが、ブックのクエリを持っています。どれもそうでなければ、このファイルにこの形の Power Query の入れ物はありません。
  3. 式を読むには、その要素の base64 の文字列を base64 のツールで復号します。結果は、版を示す 4 バイトとパッケージの長さを示す 4 バイトで始まり(上の 2.2)、長さは下位のバイトから並びます(下の例を復号すると分かります)。その後ろにパッケージが続き、ほかの部分はさらにその後ろです。9 バイト目から長さの分だけを .zip として保存し、Formulas/Section1.m を開きます。Microsoft の例(英語)を私たちが復号すると、長さのバイトは 45 03 00 00、つまり 837 で、9 バイト目からのパッケージは ZIP のファイルと同じく PK の文字で始まります。
  4. xl/connections.xml があれば接続を、xl/queryTables のフォルダーがあれば接続が埋めるテーブルを開きます。
  5. この方法で何も見つからなくても、分かるのはこの検索で見つからなかったことだけで、ほかに何も無いとは言えません。

ScrubDrop がすること

ScrubDrop は .xlsx をブラウザーの中で読み、ファイルはアップロードしません。無料版は 1 回に 1 ファイルで、ほかに扱う種類の隠れたデータと一緒に、クエリの入れ物を「カスタム XML・文書変数・タグ」の項目に、ブックの接続を「他のファイルへのリンク」の項目に一覧にします。入れ物はファイル名だけで示します(たとえば customXml/item1.xml)。カスタム XML のパーツがいくつもあるときは、上のとおり 1 つずつ開いて、どれが DataMashup かを確かめてください。入れ物は復号しないので、その中のクエリの名前、パス、サーバーは一覧に出ません。それは上のとおり Excel で読んでください。無料版は文書のプロパティとコメントを取り除き、変更履歴は承諾して取り除きます。クエリと接続は残ります。

私たちが読んだ [MS-QDEFF] のページには、入れ物のパーツがどの文字コードで書かれるかが書かれていません。ScrubDrop はカスタム XML のパーツを UTF-8 として読み、この節に書いたことは、入れ物が UTF-8 の合成のブックでだけ確かめました。UTF-16 のようなほかの文字コードで書かれたパーツがあると、ScrubDrop はそのファイルでエラーになって止まります(日本語の画面でも英語のメッセージで表示されます)。何も一覧にされず、ファイルも渡されません。上のとおり Excel でクエリを読んで削除してください。ブックのデータ モデルはこの記事のためには試していません。ScrubDrop が残さないパーツは、そのことを一覧に示し、新しいファイルには書き出しません(できないこと)。

カスタム XML のパーツを取り除くのは ScrubDrop Pro で、クエリの入れ物も一緒に消えます。他のファイルへのリンクを取り除くと、接続も一緒に消えます。この 2 つは別々の項目です。シートのテーブルに読み込んだクエリは、そのテーブルを接続から埋めるので、そのときは他のファイルへのリンクを取り除く処理が断られ、「選んだものを除くと、残る部分(リンク・フィールド・名前・書式ルール・表など)が、なくなったものを指したままになります。Office で先にそれを直すか、それを除く項目のチェックを外してください。」と表示されます(続く詳細は英語です)。カスタム XML だけを選び、他のファイルへのリンクのチェックを外すと、クエリの入れ物は消えますが接続とテーブルは残り、接続はもうファイルに無いクエリを指したままになります。そのときは Excel でクエリを削除するか、先にテーブルを範囲に変換してから両方を選んでください。接続だけで読み込んだクエリは、両方を選べば消えます。セルの値は残ります。結果は別のパーサーで読み直し、通らなかったファイルは渡しません。ScrubDrop はマクロ有効のブック(.xlsm)を読み込まず(一覧も作りません)、.xlsx で保存し直すよう求めます(この理由も、日本語の画面で英語のメッセージで表示されます)。

よくある質問

読み込んだ表だけを送るつもりでも、相手にクエリが見えますか?

ブックを送るなら、見えます。クエリは表と一緒にブックに保存されているので、Windows 版の Excel や新しい版の Mac 版の Excel で開いた人は、Power Query エディターで手順を読めます。取り込み元のパスや削除した列も含みます。値だけを送るには、新しいブックに値として貼り付けるか、写しでクエリを削除してください。

展開したファイルを検索しても、ファイルのパスが見つからないのはなぜですか?

クエリが base64 で保存されているからです。Microsoft の [MS-QDEFF] によると、入れ物は中身が base64 のカスタム XML のパーツで、式はその中の ZIP のパッケージにあるプレーン テキストのファイルです。復号して中のパッケージを開くか、Excel でクエリを読んでください。

ドキュメント検査は Power Query のクエリを取り除きますか?

Microsoft のドキュメント検査のページには書かれていません。Excel について、アクティブでない外部データ接続とカスタム XML データを挙げていますが、Power Query には触れていません。検査のあとで、写しの customXml のフォルダーを確かめてください。

出典:このページからリンクした Microsoft のページは 2026 年 10 月 28 日に確認しました。ScrubDrop は Microsoft と提携していません。

.xlsx が持つカスタム XML のパーツと接続を確かめてください。ブラウザーの中で動き、アップロードしません。無料版は 1 回に 1 ファイルで、ScrubDrop が扱う種類のうち見つけたものはすべて一覧にし、プロパティ・コメントを取り除き、変更履歴は承諾して取り除きます。ファイルを確認