配列の重複を取り除く(union・列を絞る例)
unionで文字列の重複を除く基本から、担当者一覧を部署ごとに重複のない一覧へ変える練習まで。選択とunionの役割、3件から2件になる理由、空配列の結果を説明します。
画面上の名前は、表示言語やバージョンによって異なる場合があります。クラウドフローはトリガー(フローを開始する条件)から始まり、その後にアクションを実行します。値の受け渡しには、前のステップの出力を選ぶ「動的コンテンツ」を使います。式は[式]欄へ入力します。
実行前に確認
- 大文字小文字、空白、データ型が違う値を同一とみなす前処理は含みません。
- オブジェクト配列で「1列だけ同じなら重複」にしたい場合は、対象列だけを選択するなど別の設計が必要です。
- この練習は組み込みのデータ操作だけを使用し、外部コネクタへの接続やメール送信は不要です。クラウドフローを作成・実行できる環境と利用権は必要です。実際のExcelやSharePointの行は変更・削除しません。
- 営業と「営業 」のような末尾空白の違いを自動で統一する例ではありません。並べ替えや、部署ごとの担当者数の集計でもありません。重複除去で担当者情報を失うため、元のRowsを残して用途を分けます。
1使うトリガーとアクション
- トリガー手動でフローをトリガーする
- アクション変数を初期化する
- アクション作成
図で見る処理のイメージ
概念図応用例:担当者3件から部署だけの一覧を作る流れです。基本の文字列配列とは別のフローで試します。
入力 Rows
担当A=営業、担当B=営業、担当C=総務:3件
選択
Departmentだけに絞る。営業・営業・総務:まだ3件
union
営業・総務の2オブジェクトへ。Name列は含まない
確認
lengthの結果は2。入力が[]なら結果も[]で0件
選択は列の形を変え、unionは同じ要素を1件にまとめます。元のRowsは3件のままです。
図と件数は架空データによる概念例です。実際のフローを実行して確認した結果ではありません。
設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。
2実際の設定内容
入力する値・操作手順を確認する9ステップの設定と確認方法
- 1
手動トリガーの後で変数を初期化:名前 Items、種類「配列」、値 ["東京","大阪","東京"] にします。
- 2
データ操作の「作成」の式欄に union(variables('Items'), variables('Items')) を入力します。文字列としてではなく式として保存します。
- 3
後続では「作成」の出力を使用します。元の変数 Items は変更されません。
- 4
応用:担当者が違っても部署が同じなら1件にしたい場合です。基本例とは別のインスタントクラウドフローを手動トリガーで作り、データ操作の「作成」を追加して名前をRowsに変更します。入力は式 json('[{"Name":"担当A","Department":"営業"},{"Name":"担当B","Department":"営業"},{"Name":"担当C","Department":"総務"}]') にします。これは架空データで、Excelなどへの接続は不要です。
- 5
Rowsの次にデータ操作の「選択」を置き、名前をSelectDepartmentsへ変更。元(From)は式 outputs('Rows')。マップは通常のキー・値モードで、左のキーをDepartment、右の値を式 item()?['Department'] にします。Nameは追加しません。「選択」は列を絞るだけなので、この段階では営業・営業・総務の3件のままです。
- 6
次に「作成」を置き、名前をUniqueDepartments、入力を式 union(body('SelectDepartments'),body('SelectDepartments')) にします。期待する出力は [{"Department":"営業"},{"Department":"総務"}] の2件です。文字列だけの配列ではなく、Departmentを持つオブジェクトの配列になります。
- 7
確認用の「作成」をさらに置き、入力を式 length(outputs('UniqueDepartments')) にします。実行履歴でRows=3件、SelectDepartments=3件、UniqueDepartments=2件、確認用の出力=2を確認します。Rowsをそのままunionに渡すとNameが異なるため3件が残ります。比較したい列だけへ先に絞るのがポイントです。
- 8
0件の確認:Rowsの入力だけを式 json('[]') に変えます。選択とunionの結果はどちらも空配列 []、件数は0が期待結果です。メール送信や元データの削除は行わない練習なので、0件でも安全に結果を確認できます。確認後は3件の入力へ戻します。
- 9
つまずいたら:参照先のアクション名を式入力前に変更したか、式が文字として保存されていないか確認します。Departmentがnullになる場合は元データのキーの綴りを確認。空欄部署を除外する処理は含まないため、必要なら別途「配列のフィルター処理」で取り除きます。
- 対象環境
- Power Automate クラウドフロー
- 更新日
- 2026年10月2日