ADVERTISEMENT

【Excel】Power QueryでExcelブック内のテーブル名を変更した後に更新できない時の直し方

【Excel】Power QueryでExcelブック内のテーブル名を変更した後に更新できない時の直し方
🛡️ 超解決

Power Queryを使ってExcelブック内のテーブルからデータを読み込んでいる場合、テーブル名を変更するとクエリの更新がエラーになることがあります。この現象は、Power Queryがテーブル名を参照元として固定しているために発生します。本記事では、テーブル名変更後に更新できなくなった場合の原因を詳しく解説し、具体的な修正手順や失敗パターン、管理者に確認すべきポイントをまとめました。会社のPCで作業されている方でも安全に実施できる内容を心がけています。

【要点】この記事で確認すること

  • 最初に見る場所: Power Queryエディターの「適用されるステップ」でテーブル名を参照している箇所を確認します。
  • 切り分けの軸: 端末側(Power Queryの設定)とデータソース側(テーブル名の実体)のどちらに問題があるかを切り分けます。
  • 注意点: テーブル名の変更はブック内の他の参照(名前定義や数式)にも影響を与える可能性があるため、変更前に影響範囲を把握してください。

ADVERTISEMENT

テーブル名変更後に更新できない原因

Power QueryでExcelブック内のテーブルをデータソースとして使用する場合、クエリはテーブル名(例:Table1、売上データなど)を参照しています。テーブル名を変更すると、クエリが「指定されたテーブルが見つからない」というエラーを返します。具体的には、以下の2つの要素が原因となります。

Power Queryの「ソース」ステップに古いテーブル名が残っている

Power Queryエディターでクエリを作成すると、最初のステップである「ソース」に読み込み元のテーブル名が記録されます。このステップでは、Excel.CurrentWorkbook()やExcel.Workbook()などを使ってテーブルを指定していますが、テーブル名がハードコードされているため、変更後に自動で追従しません。

Excelのテーブル名変更がクエリ更新時に認識されない

Power Queryはクエリの更新時に、元のテーブル名をキーにデータを取得しようとします。新しいテーブル名が存在しても、クエリが古い名前を参照し続けるため、エラーとなります。また、テーブル名を変更した後にクエリエディターを開き直さないと、新しい名前が反映されない場合もあります。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

更新できないエラーの確認手順

エラーが発生した場合、まずは具体的なエラーメッセージを確認し、テーブル名が原因かどうかを切り分けます。以下の手順で進めてください。

  1. ExcelでPower Queryを更新し、表示されるエラーメッセージを確認します。よく見られるエラーは「テーブル ‘古いテーブル名’ が見つかりません。」または「データソースが見つかりません。」です。
  2. リボンの「データ」タブにある「クエリと接続」をクリックし、該当クエリの「最終更新日時」がエラーになっていることを確認します。
  3. 該当クエリを右クリックし、「編集」を選択してPower Queryエディターを開きます。
  4. 右ペインの「適用されるステップ」で最初のステップ(多くの場合「ソース」)をクリックします。数式バーに表示されるM式を確認します。
  5. M式の中に古いテーブル名が含まれているかどうか確認します。例えば、「Excel.CurrentWorkbook(){[Name=”古いテーブル名”]}[Content]」のように記述されていれば、それが原因です。

なお、この手順を実行する前に、ブックのバックアップを取っておくことをお勧めします。特に複数のクエリが存在する場合は、変更の影響が広がる可能性があります。

直し方:Power Queryでテーブル名を更新する

テーブル名を変更した後にPower Queryクエリを修正する方法は、大きく分けて2つあります。1つはクエリエディター上でテーブル名を手動で書き換える方法、もう1つはソースを再選択する方法です。状況に応じて適切な方法を選んでください。

方法1:M式のテーブル名を直接書き換える

Power Queryエディターで「ソース」ステップの数式を変更します。手順は以下の通りです。

  1. Power Queryエディターを開き、「適用されるステップ」から「ソース」を選択します。
  2. 数式バーに表示されているM式の中の古いテーブル名を、新しいテーブル名に書き換えます。例:「=”古いテーブル名”」を「=”新しいテーブル名”」に変更します。
  3. Enterキーを押して変更を確定し、エディターの「閉じて読み込む」をクリックします。
  4. データが正しく更新されるか確認します。必要に応じて手動で「すべて更新」を実行します。

方法2:ソースを再選択する

クエリのソースを最初から設定し直す方法です。特に、テーブル名以外にも列名の変更などがあった場合に便利です。

  1. Power Queryエディターの左ペインで、設定を変更したいクエリを選択します。
  2. ホームタブの「データソースの設定」をクリックし、現在のソースを「削除」します。
  3. 「新しいソース」→「Excelブック」を選択し、該当のブックを指定します。
  4. 既存のクエリに追加するかどうかの確認が出る場合は、「新しいクエリとして追加」ではなく「既存のクエリを置き換える」を選びます。
  5. 適用されたステップを確認し、必要に応じて変換ステップを再適用します。

方法2は、クエリが複雑な場合に手間がかかることがあるため、シンプルなクエリであれば方法1をお勧めします。ただし、元のクエリに多くの変換ステップがある場合は、方法2で再選択するとステップがリセットされるため注意が必要です。

ADVERTISEMENT

失敗パターンと注意点

テーブル名変更後のPower Query更新で失敗しがちなパターンをいくつか紹介します。これらを把握しておくことで、スムーズに修正できます。

失敗パターン1:テーブル名を変更したのにクエリエディターを開かない

テーブル名だけを変更して、Power Queryエディターでクエリを編集しないまま更新しようとすると当然エラーになります。クエリエディターを開いてテーブル名を変更する必要があります。

失敗パターン2:複数のクエリが同じテーブルを参照しているのに一部しか修正しない

1つのブック内の同じテーブルを複数のクエリで参照している場合、すべてのクエリのテーブル名を修正しないと、修正漏れのクエリがエラーになります。「クエリと接続」ペインで一覧を確認し、漏れがないようにしてください。

失敗パターン3:テーブル名にスペースや特殊文字が含まれている場合のクォーテーション忘れ

M式の中でテーブル名を文字列として扱う際に、テーブル名にスペースや英数字以外の文字が含まれている場合はダブルクォーテーションで囲む必要があります。手動で書き換える際にクォーテーションを忘れると、構文エラーになります。必ず数式バーの構文を確認してください。

状況別の対応比較表

状況 推奨対処法 注意点
テーブル名のみ変更(列構成は同じ) M式のテーブル名を直接書き換え(方法1) 数式バーの修正のみで完了。ただし大文字小文字は区別されない。
テーブル名と列構造も変更 ソースを再選択(方法2) 変換ステップがリセットされるため、手動で再設定が必要な場合あり。
複数クエリが同一テーブルを参照 全クエリのソースを修正 修正漏れを防ぐため、「クエリと接続」で全クエリを一覧確認する。
ブックが共有状態で編集不可 管理者に共有の解除を依頼し、ローカルコピーで修正 共有ブックではPower Queryの変更ができない場合がある。

管理者に確認すべきこと

会社のPCでPower Queryを使用している場合、以下の点について管理者やIT部門に確認が必要なケースがあります。

  • Power Queryのバージョン: 古いバージョンのExcelではPower Queryの機能に制限がある場合があります。特にExcel 2016以前では、標準でPower Queryが搭載されていないことがあるため、アドインの有無を確認してください。
  • 共有ブックのアクセス権: 社内の共有ドライブにあるブックを編集する際、書き込み権限がないとクエリの変更を保存できないことがあります。管理者に適切な権限を依頼してください。
  • グループポリシーの制限: 一部の企業では、Power Queryの実行やデータソースの変更を制限するポリシーが設定されている場合があります。その場合は、Power Queryエディターが開けない、または変更が反映されないことがあります。
  • 外部データ接続のセキュリティ設定: テーブル名変更後にクエリを更新しようとすると、セキュリティ警告が表示されることがあります。この場合、管理者に「信頼できる場所」への登録を依頼すると、以降の更新がスムーズになります。

これらの確認を怠ると、修正作業が進まなかったり、予期せぬエラーが発生する可能性があります。特に対策が必要な場合は、管理者と相談の上で作業を進めてください。

よくある質問(FAQ)

Q1. テーブル名を元の名前に戻せばエラーは解決しますか?

はい、元のテーブル名に戻せばエラーは解消されます。ただし、テーブル名を変更した目的がある場合は、根本的な解決にはなりません。本記事で紹介したクエリの修正を実施することをお勧めします。

Q2. Power Queryでテーブル名を動的に参照することはできますか?

できます。M式の中でテーブル名をパラメーター化することで、テーブル名を変更してもクエリを修正する必要がなくなります。例えば、Excel.CurrentWorkbook(){[Name=Text.From(パラメーター)]}[Content] のように記述します。ただし、この設定にはPower Queryの知識が必要です。

Q3. テーブル名変更後に「データソースの資格情報」のエラーが出ました。どうすればよいですか?

データソースの資格情報エラーは、参照先のブックが別の場所にある場合に発生します。Power Queryエディターの「データソースの設定」で資格情報を再設定するか、管理者にデータソースの追加を依頼してください。

Q4. テーブル名変更後にクエリエディターが開けなくなりました。なぜですか?

クエリエディターが開けなくなる原因として、クエリに構文エラーが発生している可能性があります。一度Excelを再起動し、ブックを開き直してから「クエリと接続」ペインで該当クエリを右クリックし、「編集」を試みてください。それでも開けない場合は、バックアップから復元する必要があります。

まとめ

Power QueryでExcelブック内のテーブル名を変更した後に更新できなくなる問題は、クエリのソースステップに古いテーブル名が残っていることが原因です。修正方法としては、M式を直接書き換えるか、ソースを再選択することで対応できます。修正作業の前に、ブックのバックアップを取り、複数のクエリがある場合はすべての修正漏れがないか確認することが重要です。また、会社のPCでは管理者の設定によってPower Queryの操作が制限される場合があるため、必要に応じて管理者に相談しながら進めてください。動的にテーブル名を参照する方法を学ぶことで、将来的に同様の問題を予防することも可能です。


📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】

ADVERTISEMENT