事務系の方の仕事の中には、2つエクセルファイルを比べてファイルAにはあってファイルBにはない項目を抽出する、という仕事があります。
(ex.経理の入金処理、実売データの製品型番の名寄せetc)
Power Automate Desktopを使って、上記の業務を自動化してみました。Excelマクロは使いません。
私は野球が好きなので、広島カープの選手で2021年06月14日の試合にスタメンで出ているが、05月14日の試合にはスタメンで出ていない選出を抽出したいと思います。
<使用するエクセル スクリーンショット>
※今回は比較するシートを同じエクセルブックに保存しています。
作業の流れ
該当のエクセルファイルを開く 2つのシートの最初の空の行を取得する(マクロで良くやるアクションです。範囲の設定に使えます。) 2つのシートのデータが入っている範囲を取得する データをリストに格納する(リストに取得) リストの内容を減らす(Carp0614にあってCarp0514にないものを抽出) 新規エクセルファイルを開く 新規エクセルファイルに抽出した内容を貼り付ける一番大事なのは、データをリストに格納するという作業です。
Excelワークシートから読み取りでデータを取得出来ているので
『ExcelData0614とExcelData0514を比較すればいいじゃん!』と思うのですが、
これはDataTableという型で保存されているのでこのままでは使えません。
データテーブル列をリストに取得させることでやっと使えるようになるのです。
下記の作業でColumnAsList0614とColumnAsList0514にデータを格納しています。
その後の"リストの内容を減らす"の作業で、”ColumnAsList0614にはあるがColumnAsList0514にはない選手名”が変数:ListDifferenceに格納されたので、新規エクセルファイルを開き貼り付けます。
(林選手は期待の若手です。コロナで主力が出れなくなり一軍に上がりました。坂倉選手はバッティングがいい若い選手です。薮田選手は復活が待たれるピッチャーです。)
上記のような流れで、PADのアクションの”共通リスト項目の検索”をすれば
”0514にも0614にもスタメンの選手を抽出する”、といったことも出来ます。
以上になります。
私はコードを書くのが苦手なのでPADを使ってノーコードでプログラムを組めるのがとても良いと感じています。試してみてください。