Power Automate SharePointのリストに項目を追加する際に、複数列の値が一致する項目が登録済みの場合に特定の処理行う方法(コメント回答用)

2020年12月29日

項目が作成されたとき」トリガーが実行された際に

既に複数列が同一の項目が登録されている場合に

特定の処理を行う方法を紹介します。

目次

手順

SharePointにサンプルとして、このようなリストを用意します。

タイトル、名前、金額、登録番号があり

今回は例としてタイトルと登録番号が同じものが

既に登録されている場合に特定の処理を行います。

まず「項目が作成されたとき(SharePoint)」トリガーで自動化したクラウド フローを作成し、

次に「複数の項目を取得(SharePoint)」アクションを追加し、

対象の「サイトのアドレス」と「リスト名」を指定します。

(フィルタークエリと使うと複数条件が動作しなかったのでこの話題)

次にブール値の変数を用意してfalseで初期化します。

コントロールの「Apply to each」を設置して「以前の手順から出力を選択」に

「複数の項目を取得」アクションの動的なコンテンツのvalueを指定します。

Apply to each」の中に「条件」を設置し、

ANDで以下のように指定します。(比較する列は適宜調整してください)

左の値条件右の値
項目が作成されたとき」トリガーの動的なコンテンツのTitle次の値に等しい「複数の項目を取得」アクションの動的なコンテンツのTitle
項目が作成されたとき」トリガーの動的なコンテンツの登録番号次の値に等しい「複数の項目を取得」アクションの動的なコンテンツの登録番号
項目が作成されたとき」トリガーの動的なコンテンツのID次の値に等しくない「複数の項目を取得」アクションの動的なコンテンツのID

最後のIDの条件はトリガーが起動した項目を避けるための条件です。

トリガーとアクションで見た目が同じなため紛らわしいですが、

マウスオーバーしたときに、triggerOutputsが表示されればトリガー、

itemsが表示されればアクションの動的なコンテンツです。

triggerOutputsが表示されればトリガー
itemsが表示されればアクション

そして「はいの場合」に変数の設定を設置して、ブール値の変数をtrueにします。

ここには指定の条件に合致する場合に遷移するため、

重複している項目の内容をExcelやテキストファイルなどに

書き込む場合はここにアクションを置きましょう。

最後に「Apply to each」の外に「条件」を設置し、ブール値の変数がtrueかを判定します。

「はいの場合」に重複する項目がある場合のアクションを設置します。

ここにはメール送信のように一回のトリガーで

一回動くのが好ましいアクションを設置します。