Excel関数より楽!Power Queryで新旧データを比較して「違い」を自動抽出する

Power Queryを活用した、実務で役立つテクニックの紹介です。

今回は「リンゴの出荷計画」を例に、計画(Before)と調整後(After)を比較して、どの伝票を差し替える必要があるかをパッと洗い出してみます。

出荷計画の比較

▲ 左:計画表 / 右:調整後の表(ここから差異を見つけます)

エクセルシート上でも計算は可能ですが、データ量が増えると関数の管理が大変になります。Power Queryなら、GUI(画面操作)だけでスマートに解決できますよ!

Step 1:表を行データ(縦持ち)に変換する

まずは、横に広がったレイアウトを、Power Queryの得意な「縦方向のリスト形式」に変換します。

💡 操作のポイント
詳しい「列のピボット解除」の手順については、まずこちらの過去記事を確認してください。
👉 【過去記事】Power Queryで表をリスト形式に変換する方法

Step 2:並び替えとデータの整理

変換したデータから不要な列を削除し、列名を「予定日」などに整えます。

次に、正しくキーを割り当てるために並び替えを行います。ツールバーの「昇順」ボタンを、「出荷先」→「予定日」の順でクリックしてください。

並び替え操作

▲ 項目名の横に「1」「2」と数字が出れば、優先順位通りの並び替え完了です

Step 3:「グループ化」で連番キーを作成する

ここが今回の最重要ポイントです。「出荷先」ごとに、1回目、2回目……と番号(インデックス)を振っていきます。

「出荷先」列を選択し、「グループ化」をクリック。ダイアログで新しい列名を「カウント」にし、操作を「すべての行」に変更してOKを押します。

すべての行を選択

セル内に「Table」と表示されたら成功です。次に「列の追加」タブから「カスタム列」を選択し、以下の数式を入力します。

Table.AddIndexColumn([カウント], "インデックス", 1)
カスタム列の式入力

作成したカスタム列の右上にある「展開ボタン」を押し、必要な列(予定日など)を選択して展開します。これを「計画」と「調整後」の両方のデータで行います。

Step 4:2つのデータを結合して比較する

仕上げに「クエリの結合(マージ)」で2つの表を合体させます。

結合ダイアログでは、Ctrlキーを押しながら「出荷先」と「インデックス」の両方を選択するのがポイントです。これで「どの顧客の何回目の出荷か」が正確に紐付きます。

複数列を選択して結合

Step 5:差異(差し替え対象)を確認

最後に「カスタム列」を追加し、以下の判定式を入力します。

[予定日] = [出荷日]

結果がFALSEになった行が、出荷日の変更があった「伝票の差し替えが必要なデータ」です!

判定結果

一人あたりの販売回数が決まっている商品の管理など、実務で非常に応用が利くテクニックです。ぜひお試しください。

💡 今回のまとめ

Excel関数での照合は補助列が増えて管理が複雑になりがちですが、Power Queryなら設定を一度作るだけでOK。来月新しいデータが来ても「更新」ボタン一つで完了します。この「自動化」の恩恵をぜひ体験してみてください!

コメント

このブログの人気の投稿

Webサイトでは「ダブルクリック」は不要?シングルクリックが基本の理由

AIに頼りすぎないVBA!「記録マクロ」をメンテナンスしやすい「事務屋さんのコード」に変える方法

【Excel】エクセル(Excel)で同一セルを調べる方法