Power Automateの「表内に存在する行を一覧表示」は、Excelのテーブルを取得するアクションです。
この記事では、「表内に存在する行を一覧表示」の使い方に関して述べます。
課題:Excelのテーブルを下から順に取り出したい
![]() |
「表内に存在する行を一覧表示」とApply to eachなどのループとの組み合わせで、Excelのテーブルを上から順に一行ずつ処理できます。 |
![]() |
しかし、今作っているフローでは、逆に下から順にサーチしたいのです。どうすればいいのでしょうか。 |
coffeeさん、なぜ下から順にサーチしたいのですか? |
![]() |
![]() |
新しいデータから順にサーチしたいのですが、このExcelのテーブルは、上から日時が古い順に並んでいるからです。 |
テーブルに日時の列がありますか?あれば、「表内に存在する行を一覧表示」の詳細オプションの「並べ替え順」の設定で、日時を昇順に並べ替えることによって、新しい順にサーチできますよ。 |
![]() |
解決策
「表内に存在する行を一覧表示」の詳細オプションの「並べ替え順」に、以下の設定をするとテーブルを並べ替えることができます。
[項目名] desc :降順にソート(大きい順に並べ替え)
[項目名] asc :昇順にソート(小さい順に並べ替え)
本件の場合、[日時列の項目名] desc、と設定することにより、日時が降順にソートされます。したがって、新しい順にサーチすることができます。[項目名] asc :昇順にソート(小さい順に並べ替え)
事例
下図はサーチ対象のExcelのテーブルの例です。
ちなみに、受信メールの受信日時と件名を列挙したものです。
列名「DateTimeReceived」は、日時が古い順(降順)に並んでいます。
このテーブルを件名で検索して、最も新しいデータを検出するフローを作るとします。
そのためにはテーブルを取得するときに、DateTimeReceivedの列を昇順にソートさせます。
その場合、「表内に存在する行を一覧表示」の詳細オプションの「並べ替え順」を、次のように設定します。
DateTimeReceived desc
DateTimeReceived列の日時が新しい順(降順)に並べ替えられたテーブルが取得されます。
なお、「上から順に取得」という詳細オプションがあります。
これは取得するテーブルの行数を指定するところです。
取得する順序を意味するのではないです。
まとめ
テーブルにソートをかけて取得したい場合は、順序を指定するための列を設けます。
「表内に存在する行を一覧表示」の詳細オプションの「並べ替え順」で、その列に昇順または降順を指定します。
参考
Power Automate: Excel List rows present in a table Actionテーブル内に存在する行を一覧表示する
コメント