Power Automate Desktop 数値のリストに順位(ランキング)をつける方法

2023年5月17日

English version.

リスト内の数値に順位を付ける方法を紹介します。

結果はデータテーブルに展開されます。

手順

フロー全体

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

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

Excel ワークシートに書き込み」を2つ設置して作成した空ブックの1行目を作ります。

書き込む値は列名になります。ValueとRank にしていますが任意です。

項目1つめの設定値2つめの設定値
書き込む値ValueRank
書き込みモード指定したセル上指定したセル上
12
11

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

次に「For Each」でリスト変数をループさせます。

(反復処理を行う値にリスト変数を指定)

For each」の中に「Excel ワークシートに書き込み」を2つ設置します。

2つめの書き込む値はExcelのRANK.EQ関数です。

ここの値を変更すると順位の付け方や(RANK.AVG関数に変更)、

順位を降順に切り替える(RANK.EQ関数に引数を追加)ことが可能です。

項目1つめの設定値2つめの設定値
書き込む値%CurrentItem%%'=RANK.EQ(A' + RowCounter + ',A2:A' + (NumList.Count + 1) + ')'%
書き込みモード指定したセル上指定したセル上
12
%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を効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,700ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方から各アクションの詳細な使い方、

頻出テクニック、実用例を紹介。(目次

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。(更新履歴

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

実用例の記事一覧

Web(クラウド)版での方法