-
「For each」アクションを使用して、Excelのデータを上から順に、Webシステムに入力、登録するフローを作成しています。
その際、登録状況の列に「登録済み」と記載がある行の処理はスキップしたいのですが、
やり方がわかりません、、お教えいただけないでしょうか。 -
「For each」アクションで指定できる変数に「保存先」というものがあります。
Excelデータをループさせているのであれば、保存先として指定する変数には、一行ごとのデータが入っていると思います。
Excelのテーブルを1行ずつ見ると、その中のデータが左から右に向かって以下のように格納されていきます。
例)
変数(%CurrentItem%とする):CurrentItem[0],CurrentItem[1],CurrentItem[2],CurrentItem[3] ,CurrentItem[4]
Excelデータ:タイトル,本文,登録状況,登録日時,更新日時
ループ内のアクションで「タイトル」を参照したい場合は、変数「%CurrentItem[0]%」を指定することで、その行の「タイトル」を参照することができます。
「登録状況」列は上の例では左から「3番目」、変数では「%CurrentItem[2]%」に入っているので、if文で
最初のオペランド:%CurrentItem[2]%
演算子:次を含む
2番目のオペランド:登録済み
のようにすると、「登録状況」列に「登録済み」が含まれる場合のみ別の処理を行うことができます。
以下のリンクも含め、参考になれば何よりです。
▼Power Automate Desktopの使い方 ~繰り返し処理~
https://assistant-biz.jp/column/column008/
▼Power Automate Desktopがなんとなく使える講座 #3 Excelデータの抽出 その2
https://qiita.com/spumoni/items/35b3a672df34ce9bb08f
-
「if」アクションと「次のループ」アクションでスキップができると思います。
「For each」アクションは、指定したテーブル型データを、上から順に1行ずつデータとして取り出し、リスト型データとしてCurrentItemの変数に格納します。
そのリスト型のデータに基づき、「For each」で囲んであるアクション(Webシステムに入力する)が実行されるようなフローである場合は、
その部分が実行される前に「if」文で下記のような設定を行うことでスキップできます。———————————-
パラメーターの選択最初のオペランド:%CurrentItem[‘登録状況’]%
演算子:と等しい(=)
2番目のオペランド:登録済み次のアクションで「次のループ」を設定し、「End」アクションで閉じます。
※条件に当てはまる場合は、「次のループ」アクションで強制的にスキップされ、次のデータの処理に移行します。———————————-
上記の場合、「Excelワークシートから読み取る」アクションでテーブル型データを取得する際、詳細の「範囲の最初の行に列名が含まれています」がONである必要があります。なお、列名は番号でも指定できるので、登録状況の列が5列目であれば、%CurrentItem[4]%と設定することもできます。
ご参考になれば幸いです。
1 - 3 of 3 回答を表示