0
1

2つデータを比較して重複がない項目のみExcelに書き込みたい

Last updated at Posted at 2024-08-01

よく聞かれる習い始めの方のつまづき

私の記事の中ではあまり難しくありません
PowerAutomateDesktopのVerは2024年6月以降のものにしてください。

image.png

例)毎日とあるcsvファイルがメールで送られてくる
その中には1カ月分が毎日更新されて記載されているけれど台帳.xlsxに書き写したい。

そういった時に2つのデータを比較して重複していないデータを調べるのに
ExcelだとVlookUpまたはCountIf関数などを利用して調べていたと思います。

PowerAutomateDesktopだとどうできますか?
こういった質問をよく受けました。

image.png

2024年6月のバージョンアップでデータテーブル系アクションが追加となり
その回答の仕方が変わりましたのでこの記事を書きます。

image.png

やり方

まずcsvとExcelのデータをそれぞれ読み込みましょう

CSV

image.png

Excel

※日付のデータが入っているとき読み取ると自動で時間も追加されてしまうので
セルの内容をテキストとして取得のトグルをオンにしています
image.png

ここからが新しいやり方

2つのデータテーブルを結合アクションを使用

image.png
その名の通りで2つのデータテーブルを結合してくれます。

アクション内コマンド 入力内容
最初のデータテーブル %CSVTable%
2つ目のデータテーブル %ExcelData%
結合操作 完全
ルールを結合 下記画像を参照

image.png
※今回はすべての項目が合致するようにしましたがその限りではありません。

結果は下記のとおりで2つのデータテーブルがくっつき、
データが存在する場合は入荷日(2)、商品名(2)…のところに項目が記載されました。
これらが見つけたかった重複データです。

image.png

ここでフィルターデータテーブルアクションの追加

今回データを取得したいのは入荷日(2)、商品名(2)…が空欄となっているデータですので
フィルターデータテーブルアクションを使います。
image.png

アクション内コマンド 入力内容
データテーブル %JoinedDataTable%
適用するフィルターの編集 下記画像を参照

下記画像のように演算子を空白であるを選択してください。

列名はインデックスで指定してみましたが、インデックス指定の場合は1,2,3…ではなく0,1,2,3…と0からのスタートですので注意しましょう。

image.png

結果は下記の通りです。これで重複していないデータのみを取り出せました。
image.png

最後に

Excelで取得したデータテーブルは
データテーブルアクションで操作できるということ自体を知らない方も多いと思います。

しかしながら今回データテーブル系のアクションが多く追加され
Loopしながら取得することがかなり減りました。
これをきっかけにぜひデータテーブルアクションを利用していくとよいと思います:grin:

※ただし大量のデータ操作の場合は
データベースコマンドが固まってしまったりすることがあるので
ご自身の環境で一度試してから使ってみてください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1