Power Automate Desktop リスト(一次元配列)

2021年7月2日

変数の集まりを扱うリスト(一次元配列)について紹介します。

リスト(一次元配列)について

作成

まずリストを変数として作成する必要があります。

それには項目(リストの中身。要素やアイテムと呼ばれることもあります)が

存在しないリストか、存在するリストかで手順が異なります。

空のリスト

項目(中身)のないリストを作成する場合は、

アクションの「変数」より「新しいリストの作成」をドラッグします。

リストの変数名を指定して保存します。

この操作で空のリストが変数として登録されます。

その後のフローで項目を追加していきます。

項目のあるリスト

中身のあるリストを最初から作成する場合は、

アクションの「変数」より「変数の設定」をドラッグします。

「設定」に変数名を指定して、「宛先」に数式を指定します。

まず数式を意味する%で囲み、リストを意味する[]で囲みます。

そして[]の中に,区切りで項目を指定します。

例えば、10と20と30を設定する場合は %[10,20,30]%と指定します。

変数listの中に次のような構造で格納されます。

番号は0から始まる連番で後述の操作に利用します。

番号
010
120
230

先ほどの例では数値を設定しましたが、文字列の場合は更に"で囲みます。

例えば、ABCとEFGとHIJを設定する場合は %['ABC’,’EFG’,’HIJ’]%と指定します。

変数listの中に次のような構造で格納されます。

番号は0から始まる連番で後述の操作に利用します。

番号
0ABC
1EFG
2HIJ

文字列を指定の区切り文字で分割して作成

テキストの分割」を利用します。

作成済みリストへの項目の操作

追加

すでにあるリストに項目を追加するには、

アクションの「変数」より「項目をリストに追加」をドラッグします。

「項目の追加」に追加する値を指定し、

追加先リストに対象のリスト変数を指定します。

新規の項目はリストの末尾に追加されます。

項目の件数を取得

リストの項目の件数を取得するには数式で %リスト.Count% を指定します。

項目が5個のリストの場合(番号は0~4)、5が結果になります。

値の取得

数式で %リスト[番号]%と指定します。

次にリスト(変数名list)から、最初の値を取得するには%list[0]%とします。

番号
010
120
230

番号に1を指定すると20,2を指定すると30が結果となります。

末尾の項目を取得

前述の件数の取得を応用して%リスト[リスト.Count-1]%とすると常に末尾を取得します。

削除

リスト内の項目を削除するには番号を指定する方法と、値を指定する方法があります。

どちらの場合でもまず、アクションの「変数」より「リストから項目を削除」をドラッグします。

番号を指定

「項目の削除基準」に「インデックス」を指定し、

「インデックス」に削除する番号、削除元リストに対象のリストを指定します。

例えば以下のようなリストのインデックスを1を削除します。

番号
010
120
230

削除結果は以下のようなリストになります。

番号
010
130

このような削除後は番号が詰められます。

値を指定

「項目の削除基準」に「値」を指定し、

「値」に削除する値、削除元リストに対象のリストを指定します。

「一致した項目をすべて削除」をOFFの場合は、

最初に一致する(番号が一番小さい)項目が削除されます。

「一致した項目をすべて削除」をONの場合は、一致する項目がすべて削除されます。

削除後は番号が詰められます。

シャッフル(リスト内の項目をランダムで並び替え)

リスト内の項目をランダムで並び替えるには(利用頻度は低いと思われますが)

アクションの「変数」より「リストのシャッフル」をドラッグします。

「シャッフルするリスト」に変数を指定します。

実行すると項目の順番がランダムで並び変わります。

結果は実行するたびに毎回、変わります。

一覧の並び替え(リスト内の項目を昇順で並び替え)

アクションの「変数」より「一覧の並び替え」をドラッグします。

「並び替えるリスト」に変数を指定します。

逆にする(リストの項目を降順に並び替え)

アクションの「変数」より「リストを逆にする」をドラッグします。

「逆にするリスト」に変数を指定します。

重複の削除(同一の値が存在する場合、一つにする)

リスト内の重複を削除するには、

アクションの「変数」より「リストから重複する項目を削除」をドラッグします。

「重複する項目を削除するリスト」に変数を指定します。

例として対象のリストが['abc’, 'efg’, 'abc’, 'efg’, 'ABC’]で

大文字小文字を区別する場合、['abc’, 'efg’, 'ABC’]、

大文字小文字を区別しない場合、['abc’, 'efg’]が結果になります。

要素を結合してテキストに変換

テキストの結合」を利用します。

二つのリストを突合

共通リスト項目の検索(二つのリストに共通する項目を抽出)

アクションの「変数」より「共通リスト項目の検索」をドラッグします。

「最初のリスト」と「2番目のリスト」に変数を指定し、

「生成された変数」に結果のリストを指定します。

(存在しない変数名なら新規作成されます)

リストに[0, 30, 50, 90]と[10, 20, 30, 40, 50]を指定した場合は、

共通する[30, 50]が変数「IntersectionList」に格納されます。

統合(一つ目のリストの末尾に二つ目のリストを追加)

アクションの「変数」より「リストの統合」をドラッグします。

「最初のリスト」と「2番目のリスト」に変数を指定し、

「生成された変数」に結果のリストを指定します。

(存在しない変数名なら新規作成されます)

リストに[0, 30, 50, 90]と[10, 20, 30, 40, 50]を指定した場合は、

最初のリストの後ろに二番目のリストが追加された

[0, 30, 50, 90, 10, 20, 30, 40, 50]が変数「OutputList」に格納されます。

内容を減らす(二つ目のリストに存在する項目を、一つ目のリストから削除)

アクションの「変数」より「リストの内容を減らす」をドラッグします。

「最初のリスト」と「2番目のリスト」に変数を指定し、

「生成された変数」に結果のリストを指定します。

(存在しない変数名なら新規作成されます)

リストに[0, 30, 50, 90]と[10, 20, 30, 40, 50]を指定した場合は、

[50, 90]が変数「ListDifference」に格納されます。

クリア(リストの項目を全て消去)

リスト内の項目をすべて削除するには、

アクションの「変数」より「リストのクリア」をドラッグします。

「重複する項目を削除するリスト」に変数を指定します。

次の記事

ループ

ループの使い方を紹介します。

関連記事

初心者向けの記事一覧