Power Automate で Excel の既存行をメールトリガーで更新する
この記事の内容
- Power Automate を使い、メール受信をトリガーに Excel Online のテーブル行を更新する方法を解説します
- 件名(タイトル)をキーにして、対象行を特定して更新するアプローチを紹介します
- 差出人によって処理を分岐させるスイッチ構成を取り上げます
- 既存セルに追記していく(アペンド)パターンも合わせて紹介します
- replace 関数を使って返信時の「RE:」プレフィックスを除去するテクニックも解説します
全体のシナリオ
このフローでは、勉強会の参加確認メールが届いたときに、Excel Online のテーブル内の該当行を「確認済み」に更新することを目標とします。
メールの件名に「勉強会」などのキーワードが含まれている場合にフローが起動し、差出人と件名をもとに Excel の特定行を更新します。
フローの基本構成
トリガー:新しいメールが届いたとき
トリガーには「新しいメールが届いたとき」を使用します。件名フィルターに 勉強会 などのキーワードを指定しておくと、対象のメールが届いたときだけフローが起動します。
差出人が判明している場合は差出人フィルターを使ってもよいですし、Outlook の仕分けルールで特定フォルダに振り分けておき、「特定フォルダにメールが届いたとき」をトリガーにする方法も有効です。
パターン 1:差出人ごとにスイッチで分岐して行を更新する
変数で件名を整形する
返信メールの件名には RE: というプレフィックスが付きます。このまま Excel の検索キーに使うとマッチしないため、replace 関数で除去します。
変数(文字列型)を初期化し、上記の式を使って整形した件名を格納しておきます。なお、この式の入力時に「式が無効です」と表示されることがある場合は、一度保存してから再度編集し直すと解消することがあります。
スイッチで差出人ごとに分岐する
次に、差出人(From)の値をスイッチの入力として使い、ケースごとに処理を分岐させます。
各ケースの中で以下のアクションを実行します。
- Excel Online: 行を更新する
- ファイルとテーブルを指定します
- キー列を「タイトル」(件名)に設定します
- キーの値には、先ほど変数に格納した整形済みの件名を指定します
- 更新したい列(例:確認済みフラグ)に値を設定します
この構成では、差出人の数だけスイッチのケースを追加する必要があります。少人数であれば問題ありませんが、対象者が多い場合は管理が煩雑になります。
パターン 2:確認者を追記していく方式
対象者が多い場合や、確認者の一覧をひとつのセルに蓄積していきたい場合は、追記方式が便利です。
フローの構成
行を取得する
- ファイル・テーブルを指定します
- キー列:タイトル、キーの値:整形済み件名
行を更新する
- 確認者列の値を以下の式で設定します
既存の確認者リストを取得した後、改行コードと差出人のメールアドレスを末尾に追記します。これにより、複数人から返信が届くたびに確認者が蓄積されていきます。
変数を使って改行を扱う
改行文字を式の中に直接入力するのが難しい場合は、文字列型の変数に改行を格納しておく方法もあります。変数の値として改行のみを設定し、更新アクションの式の中でその変数を参照します。
動作確認
フローを保存したあと、テスト用のメールを送信して動作を確認します。
- メールが届くとフローが起動します
- 件名に一致する Excel の行が特定されます
- 差出人のアドレスや確認情報が対象セルに反映されます
- 複数人から返信が届いた場合は、追記方式であれば順次追加されていきます
まとめ
Power Automate を使うと、メール受信をトリガーに Excel Online のテーブル行を自動更新するフローを比較的シンプルに構築できます。
今回紹介した主なポイントは以下のとおりです。
- replace 関数で返信件名の
RE:プレフィックスを除去し、件名をキーとして正確に行を特定できるようにする - スイッチ構成で差出人ごとに分岐し、対象行だけを更新する(少人数向け)
- 行を取得 → 更新の組み合わせで既存セルに値を追記するパターンも利用できる(多人数向け)
応用範囲は広く、さまざまな業務フローに活用できます。ぜひ試してみてください。