リストを並べ替えて処理順を整える
Power Automate Desktopの「一覧の並べ替え」で英字コードを順番に整理。入力4件と並べ替え後の表、空・1件の分岐、重複が残ることを練習します。
画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。
実行前に確認
- この練習は同じ型の英字テキストだけを使います。数値の2・10・100と、それらに見える文字列は区別してください。数字文字列、全角半角、大小文字、日本語や混在型の比較順はこの例では保証しません。実データの型と実行環境で確認します。
- 並べ替えは重複削除ではありません。重複を消したい場合は別アクションです。また「リストを逆にする」は今の順番を反転する操作なので、未整列のリストに使うだけで降順ソートになるわけではありません。
- 空のリストで %Codes[0]% を参照しません。For eachなら空の場合に本体を通らず、1件の場合は1回通ります。並べ替えアクションの失敗と、件数によるスキップは別に確認してください。
- 公式資料で専用の例外が列挙されていなくても、変数の未設定や前のアクションの失敗まで起きない保証にはなりません。入力型・Count・設定した変数名を確認します。
- この例はローカルの手動練習です。クラウドからの起動や無人実行には、接続・マシン設定・実行権利などの別確認が必要です。契約や組織の利用ルールに従ってください。
1使うアクション
- アクション 1新しいリストの作成Codesを毎回空から作る
- アクション 2項目をリストに追加C、A、B、Aを1件ずつ追加(計4アクション)
- アクション 3If%Codes.Count% > 1
- アクション 4一覧の並べ替え%Codes%/項目のプロパティ指定はオフ
- アクション 5End0件・1件なら並べ替えを通らない
- アクション 6For each%Codes% の項目を順番に読む
- アクション 7メッセージを表示%CurrentCode%を表示。OKで次へ
- アクション 8End確認終了。保存や送信はしない
図で見る処理のイメージ
概念図受付コード4件の処理順を整える練習です。並びだけを変え、重複を含む4件は保持します。
入力
Codes:C → A → B → A(4件)
件数で分岐
2件以上は並べ替え/0・1件はスキップ
並べ替え
同じリストCodesの順番が変わる
順に確認
For each:A → A → B → C
基本例:入力4件 → 整列後4件。重複するAも2件のままです。
| 入力の順番 | 件数判定と処理 | 処理後/表示回数 |
|---|---|---|
| C → A → B → A | 4件:並べ替えを実施 | A → A → B → C/4回 |
| 空のリスト | 0件:並べ替えをスキップ | 空のまま/0回 |
| C | 1件:並べ替えをスキップ | C/1回 |
| A → A | 2件:並べ替えを実施 | A → A/2回(重複は残る) |
表と図は練習用の期待例です。実際のフローを実行して確認した結果ではありません(PAD実機未実行)。
設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。
2実際の設定内容
入力する値・操作手順を確認する9ステップの設定と確認方法
- 1
準備:WindowsのPower Automate for desktopで練習用デスクトップフローを作ります。従来の %変数名% 記法を使う例です。架空の英字コードだけを使い、Excel・メール・外部サービスへの接続は不要です。
- 2
「新しいリストの作成」を先頭に追加し、生成された変数の名前を Codes にします。実行のたびに初期化し、前回のリストへ追加し続けないようにします。
- 3
「項目をリストに追加」を4つ並べます。追加先はすべて %Codes%、項目は順番に C、A、B、A を1つずつ文字として入力します。カンマ区切りの C,A,B,A を1つの項目として入れません。
- 4
「If」の左側に %Codes.Count%、演算子に「より大きい」、右側に数値 1 を設定します。Countは項目数です。0件・1件は並べ替え不要なので、このIfの内側を通りません。
- 5
IfとEndの間に「一覧の並べ替え」(英語名 Sort list)を追加します。並べ替え対象のリストは %Codes%、「リスト項目のプロパティで並べ替え」はオフのままにします。英字コードの値そのものを並べるため、ファイルのNameなどは指定しません。
- 6
IfのEndの後に「For each」を置き、反復処理を行う値を %Codes%、現在の項目の変数名を CurrentCode にします。その内側に「メッセージを表示」を置き、本文を %CurrentCode% にします。表示をOKで閉じるたびに次へ進みます。
- 7
基本例の確認:並べ替え直後に停止して変数のCodesを開き、順番が A、A、B、C、Countが4か確認します。続行すると同じ順で4回表示される想定です。Aが2件残る点も確認してください。ここでファイルの処理順を試す前に、リストの仕組みを練習できます。
- 8
分岐の練習:新しいリストの作成は残して追加アクションをすべて無効にすると0件、Cの追加だけ有効にすると1件です。0件ならIf内とFor each内の表示はどちらも0回、1件なら並べ替えを通らずCを1回表示する想定です。確認後は4つの追加を戻します。
- 9
実データへ進むとき:一覧の並べ替えは指定したリストを変更し、新しい出力変数は作りません。元の並びも必要なら入力を別途保持して比較し、単なる変数代入で独立したコピーになると決めつけないでください。列をリスト化する前の表と、並べ替え後のリストの行対応も別途管理します。
- 対象環境
- Power Automate for desktop(Windows・従来の変数記法)
- 更新日
- 2026年10月16日