LoginSignup
0
1

More than 3 years have passed since last update.

Power Automateでスプレッドシート情報をExcelに完全同期する

Posted at

この記事で書いている内容

スプレッドシートの情報をExcelに同期させる方法です。
下記のスプレッドシートのA列をキーとしています。

図2.png

下記ExcelのA列(列1)をキーとして
・一致⇒更新
・スプレッドシートにのみ存在⇒行追加
・Excelにのみ存在⇒削除

という処理を行っています。

図3.png

全体フロー

ざっくりとは下記のフローで処理しています。

図1.png

実装方法

スプレッドシート:復習行を選択
Excel:表内に存在する行を一覧表示
でデータ全てを取得します。

Excelの場合は事前にテーブルを作成していないといけないので注意ください。
その後それぞれ空の配列を用意しておきます。

2020-12-10_21h57_09.png

スプレッドシートのキーの配列を作成

空白の場合は除外したいので、条件分岐で空白と等しくない場合のみ配列に追加しています。

2020-12-10_21h47_33.png

Excelのキーの配列を作成

Excel側も同じように処理していきます。
2020-12-10_21h59_13.png

スプレッドシート、Excelの共通キーの配列を作成

insertsection関数を使うと2つの配列の共通したもののみにできるので、
値の式に入力します。

intersection(variables('excel_array'), variables('ss_array'))

2020-12-10_22h02_02.png

共通項の更新とスプレッドシートのみのデータの更新

上記2つの1つの配列処理の中に入れています。

① 共通項と一致する列は更新
② 共通項と一致しない 且つ 空白ではない場合は行追加

という処理を行っています。

2020-12-10_22h04_14.png

Excelのみに入っている行の削除

最後に共通項に含まないという条件で正の場合に行を削除して、
完全同期させます。

2020-12-10_22h05_10.png

終わりに

このデータ量で15秒ぐらいかかっているので、データ量が多くなったときに
どのぐらい処理がかかるのかは不安です。

Power Automateの実行上限とかあるのかも把握していないです。

違うロジックでもできると思いますので、この方が楽に作れるなどありましたら、
教えて頂けると嬉しいです。

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