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

可変の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テーブル中の価格カラムを利用する場合です。

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

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