PADのデータテーブルをFor eachでループする方法【Power Automate Desktop】

Power Automate Desktop

Power Automate Desktop(PAD)で、データテーブルをFor eachでループする方法について解説します。

【STEP1】データテーブルの作成

まずはじめに、対象となるデータテーブルを作成します。

【パターン1】新規でデータテーブルを作成する場合

新たに作成する場合は、以下アクションを追加します。

追加するアクション

新しいデータテーブルを作成する

以下のダイアログが開きますので、「編集」を押します。

行・列は必要に応じて「+」マークから追加します。値を書き込む際はダブルクリックで書き込みます。

【パターン2】Excelから表を読み込む場合

Excelから表を読み込むことでデータテーブル変数を作成することもできます。

Excelの起動

まず、「Excelの起動」アクションを追加します。

追加するアクション

Excelの起動

「Excelの起動」を「次のドキュメントを開く」に、

「ドキュメントパス」に開きたいExcelファイルのフルパスを指定します。

Excelワークシートから読み取る

次に、Excelシートから表を読み取ります。

追加するアクション

Excelワークシートから読み取る

「取得」を「セル範囲の値」にし、開始行・列、最終行・列を指定します(1はじまり)。

先頭行に列名がある場合は、「詳細」の「範囲の最初の行に列名が含まれています」をオンにします。

これで、データテーブル変数 ExcelData に表の内容が入ります。

【STEP2】For each ループの設定

STEP1で作成したデータテーブルに対して、For eachループを回します。

For each の追加

追加するアクション

For each

「反復処理を行う値」に、ループ処理したいデータテーブル変数を設定します。

For eachを追加すると、以下のようになります。

【パターン1】1行分のデータ全てを取り出す場合

1行分すべてのデータを取り出す場合の方法について解説します。

For eachループの間に、以下のアクションを追加します。

追加するアクション

メッセージを表示

「表示するメッセージ」には %CurrentItem% を設定します。

これを実行すると、「りんご,200,30」→「みかん,500,50」→「ばなな,100,25」というメッセージが連続して表示されます。

【パターン2】1行分のデータのうち1つのカラムのみ取り出したい場合

1行分のデータのうち、1つのカラム(列)のみ取り出したい場合の方法を解説します。

「メッセージを表示」にて、「表示するメッセージ」に以下を指定します。

%CurrentItem[0]%

%CurrentItem[0]% と表記すると、データテーブルの1行分のデータのうち、1列目のデータのみを取得することができます。

これを実行すると、1列目のデータである商品名が「りんご」→「みかん」→「ばなな」の順でメッセージボックスに表示されます。

For each を使う際の注意点

For eachを使う場合には、必ずループ対象がリストかデータテーブルである必要があります。

文字列や数値などが入った単純な変数では、For eachを使うことはできません。

まとめ

今回は、Power Automate Desktop(PAD)で、データテーブルをFor eachでループする方法について解説しました。

  • For each はリストやデータテーブルに対するループ処理ができる
  • 1列だけ取り出す場合は %CurrentItem[0]% と表記する

上記をおさえて、データテーブルに対するFor eachを活用いただければと思います。

当ブログでは、Power Automate、Power Automate Desktopに関する記事を他にも投稿しています。もし、「このようなことが知りたい」「こんなフローの作り方が知りたい」等ございましたら、問い合わせやコメントからお気軽にご連絡ください。

参考:Power Automate ファイルの名前を変更する

chaso

文系出身、数字が苦手な平凡主婦。塾講師、大手企業SE、不動産事務、Webライター、結婚後はパートタイムでエンジニアをしています。機械音痴だけど効率化や自動化をこよなく愛しています!お仕事の依頼・ご相談は問い合わせよりお願いいたします♪

chasoをフォローする

コメント

タイトルとURLをコピーしました