Power Automate Desktop 中央値を取得する方法
Power Automate Desktopで中央値を取得する方法を紹介します


手順
Robin言語(コピー&ペースト用)
SET NumList TO [5, 10, 30, 100]
Excel.LaunchExcel.LaunchUnderExistingProcess Visible: False Instance=> ExcelInstance
SET RowCounter TO 1
LOOP FOREACH CurrentItem IN NumList
Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: CurrentItem Column: 1 Row: RowCounter
Variables.IncreaseVariable Value: RowCounter IncrementValue: 1
END
Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: '=MEDIAN(A1:A' + NumList.Count + ')' Column: 2 Row: 1
Excel.ReadFromExcel.ReadCell Instance: ExcelInstance StartColumn: 2 StartRow: 1 ReadAsText: False CellValue=> ExcelData
Excel.CloseExcel.Close Instance: ExcelInstance
フロー作成
Power Automate Desktopだけでは手間がかかるためExcelシートを活用します。


中央値を算出したい数値のリストを用意します。


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


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


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


「For each」の中に「Excel ワークシートに書き込み」を1つ設置します。
| 項目 | 設定値 |
|---|---|
| 書き込む値 | %CurrentItem% |
| 書き込みモード | 指定したセル上 |
| 列 | 1 |
| 行 | %RowCounter% |


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


「For each」 の外に「Excel ワークシートに書き込み」を設置します。
書き込む値はExcelで中央値を取得するMEDIAN関数の数式です。
| 項目 | 設定値 |
|---|---|
| 書き込む値 | %'=MEDIAN(A1:A' + NumList.Count + ')'% |
| 書き込みモード | 指定したセル上 |
| 列 | 2 |
| 行 | 1 |


この数式の結果を「Excel ワークシートから読み取り」で取得すると
中央値を変数に取り込むことができます。


| 項目 | 設定値 |
|---|---|
| 取得 | 単一セルの値 |
| 先頭列 | 2 |
| 先頭行 | 1 |
最後に「Excelを閉じる」でブックを閉じます。保存の必要は基本的にありません。
このフローを実行すると「Excel ワークシートから読み取り」の
生成された変数(初期設定では変数名ExcelData)に中央値が格納されます。
例として%[5, 10, 30, 100]%を対象に実行すると次のような結果になります。


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


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