4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Power AutomateでExcelのTableを動的に取得する。

Posted at

背景(ストーリー)

下図のような、計測器の使用予定を管理しているエクセルがあるとする。(今時エクセルで管理するなよと言われそうですが。現場ではあると思う。)
月毎にSheetとTableができ、各人が予定を記入するが、当日忘れることが多い。
そこで、PowerAutomateで今日の予約をTeamsで通知すれば防げるのではと考えた。

image.png

前提条件

  • PowerAutomateを使用するにはライセンスが必要
    私は無料のMicrosoft365 開発者プログラムに参加しています。

  • また、PowerAutomateはクラウドです。デスクトップ版ではありません。

  • PowerAutomateでのExcelデータの抽出はTableの必要がある。

作成

今回作成するのは、テーブルを動的に取得するところまで。

(1) Tableの取得

取得したいエクセルの情報を入力
image.png

(2) デバッグ用の"作成"アクションを追加

今月のTableを取得するには、関数を使えばよいが、すこし癖があるのでこの作成アクションを入れと、関数の結果が出力される。
"作成"アクションは"組み込み"→"データ操作"の中にある。

image.png

image.png

Tableの名前は"Plan"+"yy"+"MM"となっているので下図の式を入力するところへ
image.png
↓を入力する。

concat('Plan',addDays(utcNow(),0,'yyMM'))

前月でテストできるようにaddDays関数を使っているが下記でも問題ない。

concat('Plan',utcNow('yyMM'))

(3) Apply to eachでTableをループして分岐処理

Apply to eachを追加。
image.png

この下に"条件"を追加。
Tableの名前と(2)の"作成"の"出力"で比較する。
"出力"でなくても、同じ関数を入力すればできるが、同じものはできるだけ使わないほうが変更に強い。
image.png

後は、"はい"の場合にアクションを追加しごにょごにょすればいいが、今回はテーブルを動的に取得するところまでなので、
"作成"で出力して完成とする。
image.png


Tableからデータを取得してTeamsで通知するのはまた今度。

4
5
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
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?