Power Automate 受信メールに添付されたExcelファイルのテーブルから行の取得を行う(コメント回答用)

2021年11月8日

可変のExcelファイル、テーブルから「行の取得」を行う方法です。

テーブル名は固定の前提です。

手順

フローの構造は次のようになります。

(Office365のエディションによって利用するコネクタが異なります)

・「新しいメールが届いたとき(Offce365 Outlook)」トリガー

・添付ファイルを「Apply to each

 ・「ファイルの作成(OneDrive For Business)

 ・「テーブルの取得(Excel Online (Business))

 ・取得テーブル一覧を「Apply to each」 で取得

  ・「行の取得(Excel Online (Business))

まず「新しいメールが届いたとき(Offce365 Outlook)」トリガーに条件を指定します。

条件は任意ですが、

添付ファイルを利用するため「添付ファイルを含める」だけは「はい」にする必要があります。

次に 「ファイルの作成(OneDrive For Business)」 を設置して次のように設定します。

動的なコンテンツを設定すると 「Apply to each」 は自動生成されます。

オプション設定値
フォルダーのパス添付ファイルを保存するディレクトリ
ファイル名動的なコンテンツの「添付ファイル 名前」
ファイル コンテンツ動的なコンテンツの「添付ファイル ファイルコンテンツ」

もし添付ファイルのフィルタリングが必要な場合は、

動的なコンテンツの「添付ファイル 名前」などで

条件」による判定を行うことも検討します。

次に 「テーブルの取得(Excel Online (Business))」 を設置して以下のように設定します。

オプション設定値
場所添付ファイルを保存場所によって異なります。
ドキュメント ライブラリ添付ファイルを保存場所によって異なります。
ファイル コンテンツ動的なコンテンツの「ファイルの作成 ID」

次に 「行の取得(Excel Online (Business))」を設置して以下のように設定します。

動的なコンテンツを設定すると 「Apply to each」 は自動生成されます。

オプション設定値
場所添付ファイルを保存場所によって異なります。
ドキュメント ライブラリ添付ファイルを保存場所によって異なります。
ファイル 動的なコンテンツの「ファイルの作成 ID」
テーブル 動的なコンテンツの「テーブルの取得 ID」
キー列カスタム値の入力を選択した上で列名を指定
キー値検索する値を指定(通常通り)

もし複数のテーブルが存在する場合は

動的なコンテンツの「テーブルの取得 名前」などで

条件」による判定を行うことも検討します。

取得元が可変の場合、 「行の取得(Excel Online (Business))」 の結果は

そのままでは動的なコンテンツとして利用できないため次のような式を利用します。

outputs('行の取得')?['body/価格']

この例はExcelテーブル中の価格カラムを利用する場合です。

「行の取得」はアクション名が変わっていれば、それに応じて変更します。

(赤字部分は必要に応じて加工してください)

当サイトの情報を再編集した実務リファレンス

ネット検索では解決しづらい「日付の変換」や「複雑なデータ処理」など、当サイトで公開している技術情報を電子書籍として読みやすく再編集しました。

400以上のコネクタや関数の仕様を網羅的に解説しており、困ったときにすぐ引ける「辞書」として活用いただけます。

現場でのトラブルシューティングや、手元での確認用に最適です。Kindle Unlimited対象(読み放題)です。

[書籍リンク:Power Automate (Web版)完全版 基本から実用まで]