【Power Automate】データテーブル内で検索または置換するアクションについて

村瀬 俊昭

DX推進

本コラムの内容は、執筆時点での法令等に基づいています。また、本記事に関する個別のお問い合わせは承っておりませんのでご了承ください。

 デスクトップ版Power Automate(以降PAD)にてあるデータテーブルから値を集計して合計する際に「データテーブル内で検索または置換する」アクションが便利だったため本コラムにて紹介します。

■「データテーブル内で検索または置換する」アクション
 以下のテストデータで「合計」の金額を集計したい場合を考えます。

 基本的にFor EachアクションとIFアクションを組み合わせて繰り返し処理をさせることで実現が可能です。

 図2の実装だとデータテーブル内のデータを先頭から順にすべてIFアクションの条件処理が実行されてしまうためデータ数が多くなるほどパフォーマンスの低下が想定されます。
「データテーブル内で検索または置換する」アクションを使用することで回避することが可能です。

<動作>
 データテーブル内で検索条件に該当するデータの行インデックスと列インデックスを取得する

<設定例>
 データテーブル:%ExcelData%
 検索モード:検索
 すべての一致:有効(有効にすることでデータテーブル内の検索条件に一致するすべての行インデックスと列インデックスを取得できます)
 検索するテキスト:合計
 セルの内容が完全に一致する:有効(有効にすることで「検索するテキスト」に設定した文字列と完全に一致するもののみを対象とできます)
 検索条件:列の場合
 列のインデックスまたは名前:数量

 「データテーブル内で検索または置換する」アクションにて作成される変数はデータテーブル型でRow列とColumn列で構成されます。図1のテストデータ内の「数量」列の「合計」という文字列が存在する行インデックスと列インデックスが取得されていることがわかります。図3のように%DataTableMatches%変数をForEachアクションで繰り返し処理することにより実装が可能です。図2の処理とは異なり%ExcelData%内を先頭から最後まで処理されることがないためフローのパフォーマンスを向上させることができます。

■まとめ
フロー作成する中でデータテーブル型を扱う場面は多くあるかと思われます。データテーブル専用のアクションが数多く用意されていますので本コラムを参考に活用いただきパフォーマンスの良いフロー作成を目指していただけたらと思います。

2025年9月24日

著者紹介

村瀬 俊昭
DX推進支援部 ICT活用推進課

制作者の直近の記事

コラム一覧に戻る
お問い合わせ

PAGE TOP