ADVERTISEMENT

【Excel】Power Queryで不要な列の削除後に更新エラーが出る時の戻し方

【Excel】Power Queryで不要な列の削除後に更新エラーが出る時の戻し方
🛡️ 超解決

Power Queryでデータを加工していると、不要な列を削除した後にクエリの更新でエラーが発生することがあります。特に、複数のステップを組み合わせたクエリでは、削除した列が後続の処理で参照されることが原因です。この記事では、エラーが起きたときの原因の特定方法と、安全に元の状態に戻す具体的な手順を解説します。また、よくある失敗パターンや管理者に確認すべきポイントも紹介しますので、初めての方でも安心して対処できます。

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

  • 最初に見る場所: クエリエディターの「適用したステップ」一覧とエラーメッセージ
  • 切り分けの軸: 削除した列が後続のステップで参照されているかどうか
  • 注意点: 会社PCでは共有クエリやマクロの変更に管理者承認が必要な場合があるため、まずは原因を切り分けてから対応を検討する

ADVERTISEMENT

Power Queryで列削除後に更新エラーが発生する原因

Power Queryでは、データの取得から加工までを一連のステップとして記録します。各ステップは前のステップの結果を元に処理されるため、途中で列を削除すると、その列を使っている後続のステップでエラーが起こります。例えば、次のようなケースが考えられます。

  • 削除した列が「列の追加」「条件列の追加」「カスタム列の追加」で参照されている。
  • 削除した列が「グループ化」や「ピボット」のキーとして使われている。
  • 削除した列が「マージ(結合)」や「追加」の結合キーになっている。
  • 他のクエリからそのクエリを参照していて、削除した列が外部からも利用されている。

また、列名が変更された後に削除した場合も、元の列名を参照するステップがあるとエラーになります。エラーメッセージには「列 ‘xxx’ が見つかりません」と表示されるため、まずはどの列が問題かを特定しましょう。

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

エラーメッセージの種類と原因の特定方法

更新エラーが発生したら、最初に表示されるエラーメッセージを確認します。Power Queryでは、以下のようなメッセージがよく表示されます。

エラーメッセージの例 考えられる原因
列 ‘xxx’ が見つかりません。 削除した列が後続のステップで使われている。
‘xxx’ という名前の列がテーブルにありません。 列名が変更されているか、削除されている。
式エラー: 列 ‘xxx’ が見つかりません。 カスタム列や条件列の式で参照している列が消えた。

原因を特定するには、クエリエディターを開き、左側の「適用したステップ」を1つずつクリックして、どのステップでエラーが発生しているかを確認します。エラーが発生したステップには赤いエラーアイコンが表示されます。そのステップで使用している列が、前のステップで削除されていないか確認しましょう。

エラーが発生したステップの特定手順

  1. Excelの「データ」タブから「クエリと接続」を開き、該当のクエリをダブルクリックしてクエリエディターを起動します。
  2. 左側の「適用したステップ」ペインで、一番下のステップから順にクリックし、プレビューにエラーが表示されるか確認します。
  3. エラーが見つかったステップをクリックし、数式バーに表示されている数式や関数を確認します。削除された列名が含まれていないかチェックします。
  4. エラーの原因となった列名がわかったら、その列が削除されたステップを探します。
  5. 必要に応じて、列の削除ステップを一時的に無効化(右クリックで「ステップの無効化」)して、エラーが解消するかテストします。

この手順で原因を特定したら、次の「戻し方」の手順に進みます。

エラーを起こさずに削除した列を元に戻す具体的な手順

原因が特定できたら、削除した列を安全に復元します。方法は大きく3つあり、状況によって最適な方法を選びましょう。

方法1: 列の削除ステップを削除してやり直す

最もシンプルな方法です。列を削除したステップを「適用したステップ」から削除し、改めて必要な列だけを選び直します。

  1. クエリエディターで、左側の「適用したステップ」から列を削除したステップ(例:「削除された列」)を右クリックします。
  2. 表示されるメニューから「削除」を選びます。確認ダイアログが表示されたら「削除」をクリックします。
  3. これだけで削除前の状態に戻ります。ただし、このステップ以降の他の処理ステップも影響を受ける可能性があるため、注意が必要です。
  4. 必要に応じて、再度「列の選択」や「他の列の削除」を使って不要な列を選び直します。
  5. 最後に「閉じて読み込む」でクエリを更新し、エラーが解消したか確認します。

この方法は、列の削除ステップ以降に複雑な加工がない場合に適しています。後続のステップが少なければリスクが低く、すぐに元に戻せます。

方法2: 削除した列を再追加する

列の削除ステップを残したまま、後続のステップで削除した列を再追加する方法です。列名が変わっていない場合は、元のソースから再度取得できます。

  1. 「適用したステップ」で、エラーが発生しているステップの直前のステップを選択します。
  2. 「列の追加」タブから「カスタム列」または「条件列」を選び、削除した列を再現する式を作成します。ただし、元の値がそのまま必要なら、元のソースから列を取得する方が確実です。
  3. 元のソースから列を再追加するには、クエリの最初の方に「ソース」ステップがあるので、そこから列を取り込む必要があります。具体的には、「ソース」ステップの後に「列の選択」ステップを挿入し、削除した列を含めます。
  4. 「適用したステップ」で列の削除ステップの直前に新しいステップを追加します。たとえば、「ソース」ステップを右クリックして「後にステップを挿入」を選び、「列の選択」で削除した列も選択します。
  5. これにより、後続のステップでその列が再び利用できるようになります。更新を実行してエラーが消えるか確認します。

方法2は、列の削除ステップを残したい場合や、後続の処理を変えたくない場合に有効です。

方法3: 元のクエリ定義から再作成する

クエリが複雑で、どのステップを修正すればよいかわからない場合は、最初からクエリを再作成するのが安全です。バックアップがあればそれを利用し、なければ新しいクエリとして同じソースからデータを取り込み、必要な加工だけを施します。

  1. Excelで「データ」タブの「クエリと接続」を開き、該当のクエリを右クリックして「複製」を選びます。バックアップとして保存しておきます。
  2. 元のクエリを右クリックして「削除」します。
  3. 再度「データの取得」から同じソースを指定し、新しいクエリを作成します。
  4. 必要な加工ステップ(列の削除、型の変更、結合など)を1つずつ追加し、その都度プレビューを確認します。
  5. 最後に「閉じて読み込む」でデータを読み込み、正常に動作するか確認します。

この方法は確実ですが、手間がかかります。クエリが頻繁に変更される場合は、事前に元の定義をメモやバックアップとして保存しておくことをおすすめします。

ADVERTISEMENT

失敗しやすいパターンとその対処法

以下のようなパターンでエラーが発生しやすいため、事前に注意するとトラブルを減らせます。

失敗パターン 対処法
列名が変わっているのに古い名前で参照している クエリエディターで「置換」機能を使い、列名を修正する。
複数のクエリで同じ列を参照している 参照元のクエリで列を削除する前に、依存関係を確認する。
外部結合で片方のテーブルから列が消えた 結合の種類を見直すか、必要な列を保持する。
「列の削除」ステップを複数作ってしまった 不要な削除ステップを削除し、1つのステップでまとめる。

また、列を削除する前に、その列が他のクエリやステップで使われていないかを「依存関係の表示」機能で確認すると安心です。クエリエディターの「表示」タブにある「依存関係の表示」をクリックすると、クエリ間の関係が図示されます。

管理者に確認すべき設定

会社のPCでPower Queryを使用している場合、以下の点について管理者に確認してください。

  • 共有クエリ: チームで共有しているクエリを編集する場合は、変更が他のメンバーに影響を与える可能性があります。管理者に相談の上、バージョン管理を行いましょう。
  • データソースの設定: Power Queryで外部データソースに接続している場合、認証情報やアクセス権限が変更できないことがあります。エラーが出たときは、データソース設定の変更が必要かどうか管理者に確認してください。
  • 組織のポリシー: 一部の企業では、Power Queryのクエリ編集を制限している場合があります。管理者権限がないとステップの削除や追加ができないこともあるため、その場合は管理者に対応を依頼します。

よくある質問(FAQ)

Q1. 削除した列をもう一度元に戻したいのですが、元のデータソースにその列がありません。どうすればいいですか?
A. 元のデータソースに列がない場合、他のソースからその列を取得するか、計算で復元する必要があります。例えば、日付の列を削除した場合は、別の列から日付を抽出して再作成できる可能性があります。ただし、完全に復元できない場合は、バックアップからデータを再取得する必要があります。

Q2. 「適用したステップ」を削除したら、後続のステップがすべて消えました。元に戻せますか?
A. 一度削除したステップは元に戻せません(Ctrl+Zはクエリエディターでは効かない場合があります)。そのため、削除する前に必ずクエリの複製を取るか、変更内容をメモしておくことを推奨します。

Q3. エラーが発生しても、無視してそのまま使い続けることはできますか?
A. エラーが発生している状態では、クエリの更新結果が不完全になるため、業務データに誤りが生じるリスクがあります。必ず原因を特定して修正してください。また、エラーが放置されていると、他のクエリやレポートに悪影響を及ぼす可能性があります。

Q4. 複数のユーザーが同じクエリを共有している場合、どうすれば影響を最小限にできますか?
A. 共有クエリを編集する前に、必ず自分のローカルコピーを作成してテストしてください。変更が確定したら、管理者に連絡して本番クエリを更新してもらうのが安全です。また、Power BI Service を使用している場合は、ワークスペースの設定で編集権限を制限することも検討しましょう。

まとめ

Power Queryで不要な列を削除した後に更新エラーが発生した場合、まずは「適用したステップ」を確認し、どの列が問題かを特定してください。エラーの原因は、削除した列が後続のステップで参照されていることです。戻し方としては、列の削除ステップを削除する、削除した列を再追加する、またはクエリを再作成する方法があります。また、事前にクエリの複製を取ったり、依存関係を確認することで、トラブルを未然に防ぐことができます。会社の環境では共有クエリの扱いに注意し、管理者と連携しながら作業を進めてください。


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

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

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

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

ADVERTISEMENT