ADVERTISEMENT

【Excel】Power Queryで列名変更後に更新エラーが出る時の修正手順

【Excel】Power Queryで列名変更後に更新エラーが出る時の修正手順
🛡️ 超解決

ExcelのPower Queryでデータを読み込み、列名を変更した後に「更新」を実行すると、「列が見つかりません」というエラーが発生することがあります。この問題は、Power Queryのクエリが元の列名に依存しているために起こります。本記事では、エラーの原因を特定し、適切に修正する手順を詳しく解説します。会社の業務で使っているExcelファイルが更新できずに困っている方、ぜひ参考にしてください。

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

  • 最初に見る場所: エラーメッセージに含まれる列名と、クエリ内でその列が参照されているステップ
  • 切り分けの軸: エラーが発生しているクエリが1つか複数か、データソースの列名が変わったのかPower Query内の列名変更ステップが原因か
  • 注意点: 会社PCで共有しているクエリを変更する場合は、他のユーザーへの影響を考慮し、管理者に確認してから修正してください

ADVERTISEMENT

エラーが発生する原因

Power Queryは、データを取得する際に各列を「名前」で識別しています。列名を変更する操作(「名前の変更」ステップ)を追加すると、それより後のステップは新しい列名を参照します。しかし、データソース側の列名が後日変更されたり、Power Query内で列名変更のステップを削除・編集したりすると、後続のステップが存在しない列名を参照してエラーになります。具体的には以下のようなケースです。

  • データソースの列名が変わった: CSVやデータベースの列名が変更され、Power Queryが古い名前で列を探そうとする
  • 列名変更ステップを誤って削除した: クエリの適用したステップから列名変更を削除すると、後続のステップが変更前の名前を参照してエラー
  • 複数のクエリで同じ列名を参照している: 他のクエリから参照されているクエリで列名を変更すると、参照元のクエリでエラー
  • 手動で列名を変更したがスペルミス: 「名前の変更」で入力した新しい列名に誤字があり、後続の処理で不一致
お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

エラーメッセージの確認と原因特定

エラーが発生したら、まず表示されるメッセージを読みましょう。典型的なメッセージは「Expression.Error: 列 ‘Xxx’ が見つかりませんでした。」です。この「Xxx」の部分が、Power Queryが探している列名です。次に、どのクエリのどのステップでエラーが出ているかを確認します。

エラーが発生しているクエリの特定

  1. 「データ」タブの「クエリと接続」をクリックして、クエリ一覧を表示します。
  2. エラーアイコン(黄色い三角形)が付いているクエリを見つけます。
  3. そのクエリをダブルクリックしてPower Queryエディターを開きます。
  4. 右側の「適用したステップ」で、エラーが発生しているステップが赤いバツ印で表示されます。
  5. そのステップをクリックすると、プレビューにエラー内容が表示されます。

原因の切り分け: データソース側 vs Power Query内の変更

状況 原因の可能性 確認方法
データソース(元のファイル)を開くと列名が変わっている データソース側の列名変更 ソースをPower Queryで再取得して列名の違いを比較
データソースは変わっていないが、自分または他のユーザーが列名変更ステップを編集した Power Query内の列名変更の不整合 適用したステップを上から順に確認し、列名変更の前後を比較
複数のクエリが連鎖している 参照元クエリの列名変更 「クエリの依存関係」ビューで関連を確認

修正手順

ケース1: データソースの列名が変わった場合

  1. Power Queryエディターで、最初の「ソース」ステップをクリックし、データが正しく取得されているか確認します。
  2. 「列名の変更」ステップがある場合は、そのステップをクリックします。「名前の変更」の設定で、元の列名が実際のデータソースの列名と一致しているか確認します。
  3. 元の列名が変わっている場合、「名前の変更」ステップを削除するか、新しい元の列名に合わせて修正します。
  4. 例えば、データソースの列が「売上高」から「売上額」に変わった場合、「名前の変更」で「売上高」→「売上(万円)」としていたものを、「売上額」→「売上(万円)」に変更します。
  5. 修正後、エラーが消えるか確認します。他のステップで同じ列を参照していないかもチェックしましょう。

ケース2: Power Query内の列名変更が原因の場合

  1. 適用したステップを上から順に見ていき、列名を変更したステップを探します。「名前の変更」ステップは列名が青字で表示されます。
  2. そのステップの数式バーを確認します。例えば Table.RenameColumns(..., {{"旧列名", "新列名"}}) となっています。
  3. エラーメッセージに表示された列名が「旧列名」か「新列名」かを特定します。「旧列名」が見つからないというエラーなら、データソースの列名が変わった可能性があります。「新列名」が見つからないなら、後続のステップで間違った名前を使っている可能性があります。
  4. 後続のステップで、例えば「列の削除」や「条件列の追加」などで古い列名を直接指定していないか確認します。数式内の列参照を修正します。
  5. すべてのステップを確認したら、エラーが解消されているか「閉じて読み込む」で確認します。

ADVERTISEMENT

失敗パターンと注意点

よくある失敗として、列名を元の名前に戻せば直ると考えて、列名変更ステップを削除してしまうケースがあります。しかし、そのステップを削除すると、後続のステップで新しい列名を参照している場合、さらにエラーが増える可能性があります。また、他のユーザーが同じクエリを共有している場合、変更がチーム全体に影響するため、事前に連絡を取りましょう。さらに、会社のPCで共有ドライブにあるExcelファイルを編集する場合は、バックアップを取ってから作業することをおすすめします。

管理者に確認すべき事項

Power Queryのクエリが管理者によって保護されている場合、自分で修正できないことがあります。その場合は以下の情報を管理者に伝えてください。

  • エラーが発生しているクエリの名前と適用したステップのスクリーンショット
  • エラーメッセージの全文
  • データソースの列名が変更された日時や変更内容(わかる範囲で)
  • 過去に自分で列名変更をしたかどうか、また他のユーザーも同じクエリを使っているか

再発防止策

同じエラーを繰り返さないために、以下の対策を検討してください。

  • 命名規則を決める: データソースの列名をそのまま使うか、Power Query内で一律に日本語名に変換するなどルールを統一します。
  • パラメーター化: 列名を直接指定する代わりに、パラメーターを使って動的に列を参照する方法もあります。
  • 変更履歴を残す: クエリにコメントステップを追加して、いつ、なぜ列名を変更したか記録します。
  • 更新前にデータソースを確認: 更新を実行する前に、データソースの列名が変わっていないか簡単に確認する習慣をつけましょう。

よくある質問(FAQ)

Q: 列名を元の名前に戻せばエラーは直りますか?

A: 必ずしも直りません。エラーの原因がデータソースの列名変更にある場合、元の名前に戻してもデータソース側の新しい名前と一致しなければエラーが続きます。また、後続のステップで変更後の列名を使っている場合は、さらにエラーが発生する可能性があります。

Q: エラーが複数のクエリで出ているのですが、すべて修正しないといけませんか?

A: まずは根本原因となっているクエリを特定し、そこを修正すれば、依存するクエリのエラーも連鎖的に解消されることが多いです。「クエリの依存関係」ビューで関連を確認し、最上流のクエリから修正してください。

Q: 手動で数式を編集しても大丈夫ですか?

A: 数式を直接編集する方法もありますが、誤った変更をするとエラーが悪化するリスクがあります。Power QueryエディターのUIから操作する方が安全です。どうしても数式を編集する必要がある場合は、必ずバックアップを取り、1行ずつ確認しながら行ってください。

まとめ

Power Queryで列名変更後に更新エラーが出た場合、まずエラーメッセージの列名と適用したステップを確認し、原因をデータソース側とクエリ内の変更に切り分けます。修正では、該当する列名変更ステップを適切に編集し、後続ステップの参照も合わせて修正します。再発防止には、命名規則の統一や変更履歴の記録が有効です。エラーが解決しない場合は、管理者に連絡してクエリの権限や設定を確認してもらいましょう。


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

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

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

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

ADVERTISEMENT