Microsoft Power Queryを使って重複データを検索する方法 - TechRepublic

Microsoft Power Queryを使って重複データを検索する方法 - TechRepublic

Microsoft Excelシートで重複データを検索する方法はいくつかあります。関数、条件付き書式、フィルターなど、様々な方法があります。Microsoft Excelには、重複データを自動的に検索して削除する組み込み機能も用意されています。大量のデータを処理したり、Power BIにデータをインポートしたりする場合は、Power Queryを使用して重複データを削除せずに識別することを検討してください。

このチュートリアルでは、Microsoft Power Query を使って Excel データ内の重複データを検索する方法をご紹介します。このプロセスの利点は、関数や条件付き書式に関する特別な知識が不要なことです。この Power Query チュートリアルのデモをダウンロードできます。

参照: 機能比較: 時間追跡ソフトウェアとシステム (TechRepublic Premium)

Windows 10 64 ビット システムで Microsoft 365 を使用していますが、Excel 2010 を通じて以前のバージョンも使用できます。

Power Queryへの接続方法

ExcelデータでPower Queryを使用するための最初のステップは、両者を接続することです。これは簡単ですが、Power QueryではデータをTableオブジェクトとしてフォーマットする必要があります。ただし、プロセスを開始すると、必要に応じてExcelからデータ範囲をTableに変換するように促されるので、心配する必要はありません。

次に、図 Aに示すように、次の手順を実行して、重複レコードを含む Excel データを識別します。

  1. テーブルまたはデータ範囲内の任意の場所をクリックし、「データ」タブをクリックします。テーブルを作成するように求められたら、「OK」をクリックします。
  2. [データの取得と変換] グループで、[テーブル/範囲から] をクリックします。

図A

Excel データを識別します。

これで完了です。図Bに示すように、データがPower Queryに取り込まれました。

図B

データを Power Query に読み込みます。

Power Queryのデータを使って、重複を見つけましょう。重複行が2つありますが、並べ替えれば簡単に見つかります。Power Queryを使用する場合は、並べ替える必要はありません。

Power Queryで重複にラベルを付ける方法

重複を削除するのではなく、何らかの方法でラベルを付けたいのです。何らかの方法で重複を識別するための新しい列を追加します。このプロセスは想像以上に簡単です。

まず、インデックス列を追加する必要があります。これは後で詳しく説明します。今のところは、以下の操作を実行してください。

  1. [列の追加]タブをクリックします。
  2. [全般] グループの [インデックス列] ドロップダウンから、[ゼロから] を選択します。

図C

インデックス列を追加します。

図 Cに示すように、Power Query によってインデックス列 (0 で始まる連続した値の列) が追加されました。

重複を特定する前に、何が重複を構成するのかを判断する必要があります。「日付」、「値」、「人員」列に基づく高度なグループを使用します。他の2つの列は関係ありません。統計的には、同じ従業員が同じ日に同じ金額の売上を2回達成することは不可能ではありませんが、可能性は低いでしょう。今回のシンプルなデータセットでは、請求書番号のように各レコードを一意に識別する列がないため、これが最善の策です。

まず、このグループを作成する必要があります。

  1. Shift キーを押しながら各ヘッダーをクリックして、日付、値、および人事の行を選択します。
  2. 「変換」タブをクリックし、「テーブル」グループの「グループ化」をクリックします。表示されるダイアログで、Power Query によって最初の 3 つのドロップダウンに選択した列名が表示されます。
  3. 列に Find Duplicates という名前を付け、操作ドロップダウンから Count Rows を選択します。
  4. 集計の追加をクリックします。
  5. 列に Find Duplicates 2 という名前を付け、ドロップダウンから [すべての行] を選択します (図 D )。
  6. [OK]をクリックします。

図D

日付、値、人員に基づいてグループを構成します。

図E

Power Query は一意のレコード セットを表示します。

図Eに示すように、「重複を検索」列は、レコードに重複がある場合に値2を返します。「重複を検索 2」列は「テーブル」という語句を返しますが、これは後で説明します。このクエリは重複レコードを表示しません。

現在、テーブルは一意のレコードのみを返しますが、これは私たちが求めているものではありません。すべてのレコードを保持したいのですが、これは簡単なタスクです。

  1. 「重複の検索 2」列の「展開」ボタンをクリックします。
  2. グループを構成する列(日付、値、および人員)のチェックを外します。
  3. 必要に応じて、[元の列名をプレフィックスとして使用] オプションのチェックを外します (図 F )。
  4. [OK]をクリックします。

図F

すべてのレコードを表示するには、「重複の検索 2」列を展開します。

図G

Power Query はすべてのレコードを表示します。

図Gに示すように、すべてのレコードが表示されます。現在、Power Queryは重複を検出し、「重複を検索」列の値が2になっているため、すべての重複を表示しています。しかし、右にスクロールすると、「インデックス」列の順序が乱れていることがわかります。明らかに、Power Queryによってレコードが並べ替えられています。

先ほど、この列を追加すると後で意味があると説明しました。この列を追加することで、必要に応じて元の順序を維持できます。インデックス列のドロップダウンをクリックし、「昇順で並べ替え」を選択するだけで、インデックス列を並べ替えることができます。インデックス列は削除することもできますが、ここではそのままにしておきます。

重複が識別され、すべてのレコードが表示されたら、データを Excel に読み込むことができます。

Excelにデータを読み込む方法

Excelへのデータの読み込みは簡単です。「ホーム」タブの「閉じる」グループにある「閉じて読み込む」をクリックします。表示されるドロップダウンから「閉じて読み込む」をクリックします。Power Queryはテーブル名(この場合はTableSales)に基づいて新しいシートを作成します(図Hを参照)。

図H

データを Excel に読み込みます。

データがExcelに戻ったら、他のExcelデータと同じように使用できます。重複データの検索で1と2の値が指定された場合に、重複データを強調表示する条件付き書式を追加することもできます。重複データにラベルを付ける手順は簡単で、Excelで重複データを表示するかどうかを柔軟に選択できます。

Tagged: