1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RPAAdvent Calendar 2024

Day 21

掃除当番通知を自動化した話

Last updated at Posted at 2024-12-20

緒言

うちの職場では共同で使う部屋の掃除を使用課輪番で週1回やってます。これが頻繁に課が変わるからメンテナンスがめんどくさい!通知を自動化したいだけならSharePointリストで名簿作ってPowerAutomateでスケジュールフローを回せば良いですが、メンバーや課そのものがちょこちょこ変わるのでExcelで輪番表を管理したい!でも通知は自動化したい!ということでした。

やりたいこと

Excel掃除当番表に基づいてPower Automateクラウドフローで当番通知を自動化

方法

1.問題のExcel

部署の列があって当番日に”〇”が書かれている伝統的なやつ。”上長”列に〇がついてる部署に対応したその部署の上司のメールアドレスが数式で表示されるようにしてます1
Excelメンテナンス担当者は部署の変更や増減があったら列を修正して〇をつけなおすのと、上長リスト更新。
0.PNG

2. Power Automateフロー

全体

1.PNG
・ 当番曜日に繰り返しスケジュールトリガー
・ 日付をExcelで検索できるように変換
・ Excelで日付列を検索して該当レコードを参照
・ 該当行の上司に紐づく部下を取得
・ メールアドレスを結合して通知

日付変換

2.PNG
Excelの日付列のシリアル値と比較するため、フロー実行日をシリアル値に変換。
まずは最初のCompose起点日の1899/12/302を標準フォーマットへ

perseDateTime('18991230','ja-JP','yyyyMMdd')

次のCompose2で起点日と今日の日数差を取得

dateDifference(outputs('Compose'),body('Convert_time_zone'))

最後のCompose3で整数部分だけ抽出してシリアル値へ

int(split(outputs('Compose_2'),'.')[0])

Excelで該当レコードを取得

7.PNG
日付列を前述のシリアル値をKeyに検索して取得

メールアドレスの結合

image.png
部下の中に除外する人がいたりしたらフィルター処理。

結言

シリアル値の取り扱いだけ注意したらExcelからの自動かもサクッとつくれますね!

  1. 上司のメールアドレスをKeyに部下のリストを自動抽出するため

  2. こちらの記事参照

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?