こんにちは、ハナダです。
SharePointのExcelテーブルからメールを送る仕組みをPower Automateで作ったら、同じ人に何通もメールが飛んでしまいました。
そのため、Power Automateのフローを修正して一人一通のみ送るように改善しました。
この記事で分かること
Union関数の使い方
Excelテーブルから取得したメールアドレスの重複削除の方法
【失敗事例】同一人物へ重複メール送信
問題のフロー図はこちら。(Power AutomateのフローとExcelのデータは説明用です。)




- SharePointに保管しているExcelのテーブル1に対して、「表内に存在する行を一覧表示」で情報を取り込む。
- 取り込んだ情報を「For each」で繰り返す。
- 「For each」のアドレスを「メールの送信(V2)」アクションの宛先に指定してメールを送信する。
Excelのテーブル(2行目と5行目)に同じアドレスがあるので、Aさんに2通メールを送ってしまう。。
修正後のフロー
重複メールを回避するために、今回はUnion関数を使用しました。
元のフロー図を修正したのがこちら




- 「表内に存在する行を一覧表示」と「For each」の間に「選択」と「作成」を追加する。
- 「選択」で、「表内に存在する行を一覧表示」で取得した情報のアドレスを取得する。
- 「作成」でUnion関数を使用し、重複を削除したデータを作る。
- 「For each」で繰り返しに使用し、「メールの送信(V2)」アクションの宛先に指定する。
実際に動作させると、下図のように、「作成」アクションでExcelデータの5行目(a.com)が消えています。

まとめ
これで、一人一通だけ通知が飛ぶようになりました。
重複を削除する際は、Union関数が便利なので是非使ってみてください。
コメント