Power Automate Desktop 数値のリストに順位(ランキング)をつける方法
リスト内の数値に順位を付ける方法を紹介します。
結果はデータテーブルに展開されます。


手順


順位を付けたい数値のリストを用意します。


「Excelの起動」を設置して「空のドキュメントを使用」で空ブックを作ります。


「Excel ワークシートに書き込み」を2つ設置して作成した空ブックの1行目を作ります。
書き込む値は列名になります。ValueとRank にしていますが任意です。
| 項目 | 1つめの設定値 | 2つめの設定値 |
|---|---|---|
| 書き込む値 | Value | Rank |
| 書き込みモード | 指定したセル上 | 指定したセル上 |
| 列 | 1 | 2 |
| 行 | 1 | 1 |




「変数の設定」を設置してRowCounterを作成し、初期値を2に設定します。


次に「For Each」でリスト変数をループさせます。
(反復処理を行う値にリスト変数を指定)


「For each」の中に「Excel ワークシートに書き込み」を2つ設置します。
ここの値を変更すると順位の付け方や(RANK.AVG関数に変更)、
順位を降順に切り替える(RANK.EQ関数に引数を追加)ことが可能です。
| 項目 | 1つめの設定値 | 2つめの設定値 |
|---|---|---|
| 書き込む値 | %CurrentItem% | %'=RANK.EQ(A' + RowCounter + ',A2:A' + (NumList.Count + 1) + ')'% |
| 書き込みモード | 指定したセル上 | 指定したセル上 |
| 列 | 1 | 2 |
| 行 | %RowCounter% | %RowCounter% |




続いて「For each」の中に「変数を大きくする」を設置してRowCounterを1ずつカウントアップします。


「For each」 の外に「Excel ワークシートから読み取り」を設置して次のように設定します。
| 項目 | 設定値 |
|---|---|
| 取得 | セル範囲の値 |
| 先頭列 | 1 |
| 先頭行 | 1 |
| 最終列 | 2 |
| 最終行 | %RowCounter – 1% |
| 範囲の最初の行に列名が含まれています | ON |


最後に「Excelを閉じる」でブックを閉じます。保存の必要は基本的にありません。
このフローを実行すると「Excel ワークシートから読み取り」の
生成された変数(初期設定では変数名ExcelData)の中に数値と順位が格納されます。
例として%[2, 5, 10, -8, 6]%を
対象に実行すると次のようなデータテーブルになります。


Power Automate Desktopを「最短」で習得したい方へ
「Webで情報を探す時間がもったいない」と感じていませんか
当サイトの人気記事を体系的に整理し、一冊の電子書籍にまとめました 。


ページをめくるだけで、基礎から応用まで階段を登るようにスキルアップできます。
オフラインでも読めるため、通勤時間や移動中の学習にも最適です。
【本書で学べること】
- 基本操作とフローの作成手順
- Excel、Outlook、Webブラウザの自動化 * 実務で必須のエラー処理と頻出テクニック
Kindle Unlimited会員なら追加料金なし(0円)でお読みいただけます。