Power Automateを使って、Excelの特定の値を検知して、自動でTeamsチャット通知するフローを作成します。
ぜひお試しください!
Excelの準備
1. OneDrive または SharePoint 上に、以下のような構成の Excel ファイルを用意します。
私は今回はSharePoint 上に作成しました。
・データは「テーブル化」しておくこと
→ Excelの「挿入」タブ → 「テーブル」を選択
・テーブル名は「SalesTable」に設定

Power Automate起動と設定
1. Office365へアクセスし、「アプリ」をクリック

2. 「PowerAutomate」

3. 「Create」

4. 「Scheduled cloud flow」

5. 「Frow name」 を入力(任意の内容でOK)し、
「Repeat every」 に 1day 設定(1日1回にしましたが、必要に応じて設定)し、「Create」をクリックします。

6. 「Time zone」で、「(UTC+09:00) Osaka, Sapporo, Tokyo」を選択

7. 「+」ボタンをクリックして、「List rows present in a table」で検索して選択

8. OneDrive または SharePoint 上に作成してあるExcelを設定

9. 「+」ボタンをクリックして、「Condition」で検索して選択

10. 「Choose a value」の欄にカーソルを置いて、「fx」をクリック

11. 「Dynamic content」をクリックし、Excelの列名「ステータス」を選択してから「add」をクリック
(Excelの列名「ステータス」を選択すると、上のボックス内に「items(‘For_each’)?[‘ステータス’]」が入ります。)

12. 「New item」>「add row」をクリックして、条件を追加します。

13. 「Choose a value」の欄にカーソルを置いて、「fx」をクリック。
「Dynamic content」をクリックし、Excelの列名「通話状況」を選択してから「add」をクリック

12. 「Condition」への条件の入力が終わった画面の様子

13. 「+」ボタンをクリックして、「Post a message in a chat or channel」で検索して選択

14. Teamsチャット通知先を設定して、「Message」に以下の青文字をコピペしてください。
受注日の変換では、Excelのシリアル値を addDays(‘1899-12-30’, シリアル値) で日付に変換しています。
📢 【新規受注のお知らせ】
案件名:@{items('For_each')?['案件名']}
顧客名:@{items('For_each')?['顧客名']}
担当者:@{items('For_each')?['担当者']}
金額:@{items('For_each')?['金額']}
受注日:@{formatDateTime(addDays('1899-12-30', int(items('For_each')?['受注日'])), 'yyyy/MM/dd')}

15. 「+」ボタンをクリックして、「Update a row」で検索して選択

16. 対象のExcelを選択します。
・「Key Value」:items('For_each')?['ID']
・「通知状況」列に ”済”
これで、Teamsチャット通知した行の「通知状況」列に ”済” が入ります。

17. フローが完成しましたので、「Save」をクリック

動作確認
1. ID3、ID4の 「ステータス」を「受注」に変更してみます。

2. スケジュール設定した時間になったときに、Teamsにチャット通知が届きます。

3. Excelの「通知状況」に ”済” が入ります。

この記事がお役に立ちますと幸いです🍀
・【Power Automate】まだ手作業してる?フロー作成&活用ガイドまとめ
