- 配列の作り方を知りたい
この記事では、そんな方に配列を作る方法5種類を紹介します。
データ操作の要である「配列」を覚えてフローを使いこなしましょう。
配列を作る(1):直接入力
[](カッコ)の中にカンマ区切りで値を書くことで配列として認識されます。
[ 1, 5, 10, 50, 100, 500 ]
改行やスペースは無くてもOKです。
[1,5,10,50,100,500]
文字列はシングルクォーテーションで囲みます。
['1','5','10','50','100','500']
変数の「変数を初期化する」アクションで配列を作った例です。
※後から値を追加する場合は空白でもOK
呼び出す場合:
variables('お金の種類')
データ操作の「作成」アクションで配列を作った例です。
呼び出す場合:
outputs('作成')
配列を作る(2):CreateArray関数
CreateArray関数の中にカンマ区切りで値を書くことで配列として認識されます。
CreateArray(1,5,10,50,100,500)
文字列はシングルクォーテーションで囲みます。
CreateArray('1','5','10','50','100','500')
変数の「変数を初期化する」アクションで配列を作った例です。
呼び出す場合:
variables('お金の種類')
データ操作の「作成」アクションで配列を作った例です。
呼び出す場合:
outputs('作成')
似た関数にArrayがあります。CreateArrayは要素を複数作れるのに対してArrayは要素は1つしか作れません。
Arrayは完全な下位互換なのでCreateArrayを使いましょう。
配列を作る(3):Range関数
range関数は最初と最後の整数を指定すると、連続した整数の配列を作成します。
range(1,5)
整数以外を指定することはできません。
range(0.1,0.5)・・NG
range('a','c')・・NG
データ操作の「作成」アクションで配列を作った例です。
1〜5の連続した配列ができました。
配列を作る(4):Split関数
split関数は文字列を区切って配列を作成します。
split('1-5-10-50-100-500','-')
データ操作の「作成」アクションで配列を作った例です。
配列ができました。
配列になりましたが、元が文字なのでそれぞれの数字は文字として扱われます。
配列を作る(5):空の配列
配列の空(=要素数がゼロ)は大カッコで表します。
一度値を設定した配列を空にしたい場合に使います。
[]
変数の「変数の設定」で値に大カッコを入れます。
変数の「変数を初期化する」で値を入れなければ要素数がゼロです。
データ操作の「作成」アクションで空の配列を作った例です。
余談になりますが、Apply to eachで要素数ゼロの配列をソースに指定してもアクションは成功します。
特に意味はありません。
このような関数では要素が1つある配列が作成されるので注意してください。
Array('')
CreateArray('')
その他配列を返す関数
こちらの関数は配列を読み込んで、配列を返す関数です。
- intersection ・・2つの配列で一致する項目のみ取り出す
- reverse ・・要素の順番を前後入れ替える
- skip ・・指定した要素から最後の要素までを取り出す
- sort ・・並び替える
- take ・・最初の要素から指定した要素まで取り出す
- union ・・複数の配列を結合する(同じ値が2つ以上ある場合1つを残して削除)
詳しくはこちらを参考にしてください。
「変数を初期化する」と「作成」どっちを使う?それぞれの制限について
「変数を初期化する」と「作成」はどちらも配列を格納できて呼び出す方法も同じですが、違いが2つあります。
①「変数を初期化する」はApply to eachやスコープの中では使えない。
Apply to eachの中で使おうとすると注意メッセージが表示されます。
②「作成」は定数なので後から変更できない。
これはループ内で配列を変更する場合に影響が出てきます。
ループの外であれば、新しいデータ操作の「作成」で変更後の配列を作る事で擬似的な変更が可能です。
少し複雑なので説明は省きますが、ループの中で配列を変更する場合はこれが通用しないので影響が出ます。
制限を表にしました。
変数を初期化する | 作成 | |
---|---|---|
作れる場所の制限 | 有(Apply to eachやスコープ以外) | 無 |
変更の制限 | 無 | 有(変更不可) |
【結論】
PowerAutomateの使いはじめは全て「変数を初期化する」でOKです。
慣れてきたら必要に応じて「作成」も使うようにしましょう。
まとめ
PowerAutomateで配列を作る方法5種類を紹介しました。
RangeやSplit関数は目的によって使い分けが必要になりますが、直接入力とCreateArrayは全く同じ結果になるので好みの方法で配列を指定しましょう。
PowerAutomateのおすすめ記事
人気ページ
Apply to eachの使い方
アレイのフィルター処理の使い方
日付関数の使い方
エラーを無視する方法
メールの内容をExcelへ転記
メール本文から名前を抽出
>>PowerAutomateの記事一覧を見る<<
お気に入り必須!公式ページ
Microsoft Power Automate
式関数のリファレンス
コネクタのリファレンス
Excel Online (Business)のリファレンス