ADVERTISEMENT

【Excel】Power Queryでフォルダー結合後に重複行が増える時のキー列確認

【Excel】Power Queryでフォルダー結合後に重複行が増える時のキー列確認
🛡️ 超解決

Power Queryを使って複数のExcelファイルをフォルダーから一括結合すると、思わぬ重複行が発生して困ることがあります。特に「フォルダーから」の機能で取り込む場合、各ファイルの構造やデータ内容によって、行数が予想以上に増える現象がよく報告されています。この記事では、重複が発生する原因をキー列の観点から整理し、具体的な確認手順と対処方法を解説します。会社のPCで作業する際に気をつけるべき点や、管理者へ相談すべき設定についても触れますので、ぜひ参考にしてください。

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

  • 最初に見る場所: 結合結果のテーブルで、行数が元ファイルの合計行数と一致しているかをチェックします。一致していない場合、どこかで重複が発生している可能性があります。
  • 切り分けの軸: 原因は「ファイル側の構造(ヘッダーの有無)」「データ自体の重複」「Power Queryのキー列設定」の3つに大別されます。それぞれを順番に検証します。
  • 注意点: 会社の共有フォルダーにアクセスする場合、ファイルの読み取り専用やアクセス権限が原因で結合が失敗することもあります。Power Queryの設定を変更する前に、元データのバックアップを取っておきましょう。

ADVERTISEMENT

フォルダー結合で重複行が増える原因

Power Queryの「フォルダーから」機能は、指定したフォルダー内の全ファイルを一覧で取得し、その後に「データの結合」を実行することで複数のテーブルを縦に積み上げます。このとき、重複行が発生する主な原因は以下の3つです。

各ファイルにヘッダー行が含まれている場合

多くのExcelファイルでは、1行目に列名が記入されています。Power Queryが各ファイルを読み込む際、デフォルトでは最初の行をヘッダーとして扱いますが、フォルダー結合では各ファイルの先頭行もデータとして結合されることがあります。特に、すべてのファイルに同じ列名のヘッダーがあると、それらが何行も重複して表示されます。例えば、10個のファイルすべてに「No」「商品名」「数量」というヘッダー行があれば、10行分の不要なヘッダーが結合結果に現れます。

ファイル名やフォルダーパスが異なる場合

Power Queryの結合処理では、各ファイルから読み取ったデータに加えて、元のファイル名やフォルダーパスを示す列が自動的に追加されます。この情報は後でフィルタリングに使えますが、データ本来のキーと混同して重複が発生することはありません。ただし、同じ内容のデータが別ファイルに重複して存在する場合、ファイル名が異なるだけでも別の行として扱われるため、見かけ上の重複が増えます。この現象は、データの一意性を保証するキー列を設定していない場合に顕著です。

データそのものに重複行が含まれている場合

元のExcelファイル自体に重複したデータ行が存在することもあります。複数のファイルを結合する前から各ファイル内に重複があるケースや、異なるファイルで同じ内容の行が混在しているケースです。この場合、Power Queryの設定だけでは解決できず、データのクリーニングが必要になります。重複行の発生源がどこにあるのかを切り分けることが重要です。

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

原因を切り分けるための手順

重複の原因を特定するには、以下の手順で段階的に確認します。各ステップで結果を比較することで、問題の箇所を絞り込めます。

  1. 手順1: 各ファイル単体の行数を確認する
    フォルダー内の各Excelファイルを開き、データ行数(ヘッダー行を除いた実データの行数)を記録します。すべてのファイルの行数を合計し、その値を覚えておきます。
  2. 手順2: Power Queryで結合後の行数を確認する
    Power Queryの「フォルダーから」でデータを読み込み、「データの結合」を実行します。読み込み後、クエリエディターの下部に表示される行数(例:123 rows)を確認します。この数字が手順1の合計行数と一致しているかどうかが最初の判断材料です。
  3. 手順3: 増加分がヘッダー行によるものか確かめる
    結合結果のデータを先頭からスクロールし、列名が何度も出現していないか確認します。例えば、1行目が「No」、11行目も「No」など、複数箇所に同じヘッダー行がある場合は、各ファイルのヘッダーが重複して結合されています。
  4. 手順4: 特定のキー列で重複を抽出する
    Power Queryの「ホーム」タブにある「行の削除」→「重複の削除」を試す前に、まずは重複の有無を確認したい場合は、「グループ化」や「ピボット列」で対象列の出現回数を数えます。または、テーブル全体を選択して「重複の削除」を実行し、削除前後の行数を比較することで、重複の量を把握できます。
  5. 手順5: 重複が発生しているデータのパターンを調べる
    重複行を抽出したら、それらがすべて同じファイルに由来するのか、複数ファイルにまたがっているのかを調べます。Power Queryで自動追加される「Source.Name」列(ファイル名)を使ってグループ化すると、原因ファイルを特定しやすくなります。

キー列の設定方法(重複除去の具体的手順)

重複行を取り除くには、データ内で一意の値を示す「キー列」を正しく設定する必要があります。以下の手順で、Power Query上で重複を除去します。

  1. 手順1: 結合クエリを開く
    Excelの「データ」タブ→「クエリと接続」から、該当するクエリをダブルクリックしてPower Queryエディターを開きます。
  2. 手順2: 重複を削除したい列を選択する
    重複を判定する基準となる列を1つまたは複数選択します。例えば、注文IDや商品コードなど、データ内で重複してはいけない列を選びます。列の選択はCtrlキーを押しながらクリックすることで複数列選択できます。
  3. 手順3: 「行の削除」→「重複の削除」をクリックする
    リボンの「ホーム」タブにある「行の削除」の下矢印から「重複の削除」を選びます。選択した列の組み合わせで重複する行が削除され、最初に出現した行のみが残ります。
  4. 手順4: 適用ステップを確認する
    右側の「適用したステップ」に「削除された重複」が追加されます。必要に応じて、削除前に「昇順で並べ替え」などのステップを挿入すると、どの行が残るか制御できます。
  5. 手順5: 結果を確認して読み込み直す
    「閉じて読み込む」でシートに出力し、行数が適切になったか確認します。もし意図しない行まで削除された場合は、キー列の選択が間違っている可能性があります。やり直す場合は、適用ステップの「削除された重複」の左側の×印で削除して再設定します。

ADVERTISEMENT

失敗しやすいパターンと注意点

重複除去を試みる際に、よくある失敗パターンをいくつか紹介します。事前に把握しておくことで、無駄な手戻りを防げます。

失敗パターン 原因 対策
重複削除後に必要な行が消える キー列として選択した列に一意性がなく、本来異なるデータまで同一と判断された 複数列を組み合わせてキーにするか、別の一意の列(連番など)を追加してから削除する
重複が残り続ける 重複の定義が空白やスペースの違いで区別されている データの前後にあるスペースをトリム(TRIM)してから重複削除を実行する
ヘッダー行が繰り返し残る Power Queryの「最初の行をヘッダーとして使用」が各ファイルに対して有効になっていない 結合前に各ファイルで「先頭行をヘッダーとして昇格」を適用するか、結合後にフィルターで特定のヘッダー文字列を除外する
更新するたびに重複数が変わる 元のフォルダーにファイルが追加・削除されたり、内容が変更されたりしている 更新タイミングを固定するか、Power Queryの「データソース設定」でファイルの変更を追跡する

また、会社のPCで作業する場合、以下の点にも注意してください。Power Queryのクエリはブックに保存されますが、フォルダーパスが共有ドライブの絶対パスになっていると、他のユーザーが開いたときにパスが異なりエラーになることがあります。相対パスやUNCパスを利用するか、管理者に共有フォルダーのアクセス権限を確認してもらいましょう。

管理者へ確認するべき設定

Power Queryのフォルダー結合は、会社のITポリシーによって制限される場合があります。以下の点については、管理者に確認してから作業を進めることをおすすめします。

  • 共有フォルダーへのアクセス権限: フォルダー結合を実行するには、読み取り権限だけでなく、Excelがフォルダー内のファイル一覧を取得する権限も必要です。NTFSのアクセス許可や共有のアクセス許可が適切に設定されているか確認してください。
  • Power Queryのアドインが有効かどうか: 企業環境では、セキュリティポリシーによりPower Queryアドインが無効になっていることがあります。Excelの「ファイル」→「オプション」→「アドイン」で「Power Query」が有効になっているか確認し、無効の場合はIT部門に相談してください。
  • 外部データ接続の許可設定: Power Queryは外部データソースに接続するため、Excelの「信頼されていない場所」からの接続がブロックされることがあります。管理者に信頼できる場所の登録や、グループポリシーの変更を依頼する必要があるかもしれません。
  • 個人情報や機密データの取り扱い: 結合するファイルに個人情報や機密データが含まれる場合、Power Queryの結果を保存する場所や、クラウドへのアップロード禁止などの社内ルールを確認してください。

よくある質問

ここでは、フォルダー結合と重複に関してよく寄せられる質問をQ&A形式でまとめました。

Q1. 重複削除を実行したのに、なぜか重複が減りません。何が間違っているのでしょうか?
A1. 考えられる原因は、キー列として選択した列の組み合わせが、実際にはデータを一意に特定できていないことです。例えば、注文番号だけで重複削除をかけた場合、同じ注文番号でも明細行が異なるデータが存在すると、そのすべてが削除されるか、逆に重複とみなされず残ることがあります。複数列(注文番号+明細番号など)をキーに設定してみてください。また、データに空白やスペースが含まれていると、見た目が同じでも文字列が異なるため重複と認識されません。事前に「値の置換」や「トリム」でデータを整形することをおすすめします。

Q2. フォルダー結合後に、データの行数が元ファイルの合計よりもかなり多くなっています。必ず重複が原因ですか?
A2. 必ずしも重複とは限りません。元のファイルにサブフォルダーが含まれている場合、その中のファイルも結合対象になることがあります。また、Excelファイル以外のファイル(CSVなど)が混在していると、それらも読み込まれて行数が増えます。さらに、各ファイルのシート名が異なる場合、意図したシートだけを結合する設定になっているか確認してください。Power Queryの「データの結合」ダイアログで、対象とするサブフォルダーの深さやファイルの種類を制限できます。

Q3. 毎回手動で重複削除をするのが面倒です。自動化する方法はありますか?
A3. 作成したPower Queryのクエリは、データソースを更新するたびに自動で再実行されます。重複削除のステップをクエリに含めておけば、次回以降の更新時に自動的に適用されます。また、ブックを開いたときや特定のタイミングで自動更新するように設定することも可能です。ただし、会社のセキュリティポリシーによって自動更新が禁止されている場合があるため、その際は管理者に相談してください。

まとめ

Power Queryのフォルダー結合で重複行が増える原因は、ヘッダー行の混入、各ファイルにまたがるデータ重複、そしてキー列の設定ミスに大別されます。最初に元ファイルの行数を把握し、結合後の行数と比較することで、問題の所在を絞り込めます。重複を除去する際には、単一列ではなく複数列をキーとして選択することで、必要なデータを保持したまま不要な重複だけを削除できます。会社の環境では、アクセス権限やアドインの有効性を事前に確認し、管理者と連携しながら作業を進めてください。適切なキー列を設定できれば、Power Queryは強力なデータ統合ツールとして活用できます。


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

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

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

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

ADVERTISEMENT