Power Automate 「表内に存在する行を一覧表示(Excel Online (Business))」アクション

2020年11月10日

「表内に存在する行を一覧表示(Excel Online (Business))」は

Excelのテーブルの全行を取得するアクションです。

この記事では、その使い方を紹介します。

利用方法

まず全行を取得するExcelファイルを用意します。

取得する表はテーブルにしておく必要があります。

今回の例ではコード、名前、価格の項目を持ち、

テーブル名が「商品テーブル」のファイルをサンプルとして用意します。

サンプル

次にフローにステップを追加します。

コネクタ「標準」より「Excel Online (Business)」を選択します。

OneDriveの接続先が設定されていない場合はログイン情報を設定する必要があります。

「標準」より「Excel Online (Business)」を選択

「アクション」より「表内に存在する行を一覧表示」を選択します。

「アクション」より「表内に存在する行を一覧表示」を選択

「表内に存在する行を一覧表示」ステップが追加されるのでオプションを設定します。

オプションを設定

上4つの項目が必須で、下5つは任意項目です。

項目必須説明
場所接続可能なOneDriveとSharePointの一覧が表示されるので
その中から行を追加するファイルのある場所を選択。
ドキュメントライブラリOneDriveの場合OneDrive、SharePointの場合、ドキュメントを選択
ファイル右のディレクトリアイコンのピッカーでファイルを選択。
ファイルパスに見えますが、表示だけで中身はIDです。
指定ファイルを削除してから、同名ファイルを作成しても別として扱われてしまいます。(再指定が必要)
テーブル「ファイル」の中に存在するテーブルの一覧が表示されるので
追加対象のテーブルを選択します。
こちらも名前でなくIDのため一度テーブルを削除して
同名テーブルを作成しても別として扱われます。
(再指定が必要)
フィルター クエリ取得する条件を指定します。初期値の空白では全行が取得されます。
今回のサンプルで「名前 eq 'さば’」と指定すると
名前がさばの行のみ取得されます。
ただ、この項目は指定が難しく、以上・以下などの比較が使えないなど
制限が多いため全行取得して条件アクションで
フィルタリングする方が効率的でしょう。
並び替え順並び替える列名を1つ指定します。
初期値の空白ではExcelの並び順で取得されます。
今回のサンプルで「名前 acs」と指定すると名前の昇順(acsは省略可)
「価格 desc」と指定すると価格の降順で取得されます。
上から順に取得最大取得件数です。初期値の空白では全行が取得されます。
処理時間などの都合で件数を制限したい場合に有効です。
スキップ数指定した件数分、読み飛ばします。
初期値の空白では1行目から取得されます。(ヘッダー行を除き)
開始何行かが不要なデータと確定している場合に有効です。
クエリの選択取得する列名をカンマ区切りで指定します。
今回のサンプルで「名前,コード」と指定すると、
価格は動的なコンテンツでは指定出来るものの中身が空白になります。
無指定の場合、全て取得します。
有効なケースは後のアクションで絶対に使用したくない列がある場合なのため
ここを指定する必要性は少ないでしょう。

Excelから取得した行を使用するには別のステップも必要です。

それにはまず、新しいステップに「コントロール」コネクタを指定します。

「コントロール」コネクタを指定

そして「Apply to each」アクションを指定します。

「Apply to each」アクションを指定

「以前の手順から出力を選択」に動的なコンテンツの「value」を指定します。

これにより「Apply to each」の中に指定したアクションが

取得した行だけ繰り返されます。(繰り返されるたびに異なる行を対象とする)

「以前の手順から出力を選択」に動的なコンテンツの「value」を指定

Apply to each」の中で項目名の動的なコンテンツを指定すると

その行のその項目の値を利用出来ます。

「Apply to each」の中で項目名の動的なコンテンツを指定

関連記事