サイトアイコン Power Automate サポート

変数の設定

新たな変数を定義、または既存の変数の更新を行います。

Microsoft Docs

変数のアクションに関する参考情報
変数 | Microsoft Docs - Power Automate - docs.microsoft.com

業務での利用頻度

★★★★★ ほぼ毎回使用します

オススメ度

★★★★★ 変数は奥が深いですが、変数の設定を極めれば、PADの幅が非常に広がります!

用途・目的

使い方

変数 > 変数の設定 アクションを配置し、内容を設定してください。

 

変数を使用した場合(%の位置に注意)

設定項目

設定変数名を設定日本語と_以外の記号、予約語は使用できません
無効な名称
宛先変数の値を設定文字列 または 変数、式を設定
現時点では改行は入力できません → 2021年7月のアップデートで対応
変数の型は自動判定されます

エラー発生時の処理(例外処理設定)

設定出来ません。

発生する可能性のあるエラー

※ ここに記載しているエラーが全てではありません ※

ランタイムエラーインデックス ‘x’ は範囲外です。List型の変数に対し、存在しないインデックスを参照している
例)データが3件しかないのに[3]を指定している([0][1][2]しかアクセスできない)
ListやDatatableを使用している場合は要注意!
ランタイムエラー変数 ‘変数名’ にプロパティ ‘x’ がありません。存在しないプロパティにアクセスしようとしている
カスタムオブジェクトを使用している場合や変数を使いまわしているときに注意!
ランタイムエラー0 で割る演算は許可されません0で割ろうとしている
Excelから値を読み取って、ループ内で計算しようとしている場合は注意

様々な値の設定方法

型の指定

変数の設定アクションでは、特定の記法を行うことで、データ型を明示的に指定することが出来ます。
上級者向けの内容を含みます。ほとんどのケースでは、太字の部分のみで対処可能です。 ※

テキスト型あいうえお
%’0001’%
文字列が含めれるとテキスト型が設定されます
数値やスペースなどは%”%で文字を囲むとテキスト型になります
数値型123
3.14
値が数値のみで構成されていると数値型として判定されます
先頭の0は除去されます(0001→1)
Datetime型%D’2021/01/01’%
%D’2021/01/01 0:00:00’%
時刻を省略すると0:00:00が自動で設定されます
ブール型%True%
%False%
%1=1%
真偽

%True%
%False%
List型%[‘値1’, ‘値2’, ‘値3’]%
%[‘文字列’, 数値, D’2021/01/01′]%
新しいリストの作成、項目をリストに追加アクションと同じです

%List[0]%
Datatable型に列名を定義%{ ^[‘項目名1’, ‘項目名2’, ‘項目名3’] }%
%{ ^[ColName1, ColName2, ColName3] }%
同一列名は設定できません
Datatable型に値を追加%Datatable + {[‘値1’, ‘値2’, ‘値3’]}%
%Datatable + {[Value1, Value2, Value3]}%
事前に列名を設定しなかった場合、列名はColumnXが設定されます

%Datatable[0][0]%
%Datatable[0][‘列名’]
カスタムオブジェクト型%{ ‘キー’: ‘値’ }%
%{ ‘キー1’: ‘値1’, ‘キー2’: ‘値2’ }%
%{ ‘List’: [‘値1’, ‘値2’, ‘値3’] }%
%{ ‘Datatable’: [‘値1’, ‘値2’, ‘値3’] }%
プロパティのように利用することが出来ます

%CustomObject[‘キー’]%
%CustomObject.Key% (英数字のみの場合)

計算式

計算式は数学と同じように使用できます。
計算順序も * や / が + 、- より先に計算されます。

足し算(加算)+
読み方:プラス
%1 + 2%
%Num + 1.25%
%Num1 + Num2%
引き算(減算)
読み方:マイナス
%2 – 1%
%Num – 1.25%
%Num1 – Num2%
掛け算(乗算)*
読み方:アスタリスク
%3 * 2%
%Num * 1.25%
%Num1 * Num2%
割り算(除算)/
読み方:スラッシュ
%10 / 2%
%Num / 1.25%
%Num1 * Num2%
余り(余剰)mod
読み方:モッド
%3 mod 2%
%Num mod 1.25%
%Num1 mod Num2%
計算の優先順位%( 1 + 1 ) * 2%

利用サンプル

Copyボタンを押してから、PADに貼り付けてください

サンプルフロー利用方法

基本的な使い方

# 文字の設定
SET String TO $'''文字列'''
# 文字の結合
SET String TO String + 'の結合'
/# 変数を繰り返し使う
メリット:無駄な変数を増やさない
デメリット:複数の型を設定した場合(テキストと数値など)は、変数のプロパティを一覧から設定できない#/
SET String TO String + 'はこんな形です'
# 数値を文字として定義する場合は%''%内に記述する
SET String TO $'''%'0001'%'''
# 数値の計算
SET Calc TO 1.25 + 0.75 - 0.1
# 文字と数字を足した場合
SET StringAndNumeric TO 'あさひ' + 123
# 日時の定義
SET Datetime TO D'2021/07/01 10:30:00'

リストを定義

# リストの定義
SET List1 TO ['値1', '値2', '値3']
# リストの定義(複数の型)
SET List2 TO [1, 2, 3, D'2021/01/01 10:00:00', D'2021/02/01 09:00:00', D'2021/03/01 21:00:00']
# リストの中にリストを作る(二次元配列)
SET List3 TO [['値1-1', '値1-2', '値1-3'], ['値2-1', '値2-2', '値2-3'], ['値3-1', '値3-2', '値3-3']]

Datatableを定義

# 列名の定義
SET Datatable1 TO { ^['列1', '列2', '列3'] }
# 値の追加
SET Datatable1 TO Datatable1 + {['値1', '値2', '値3'] }
SET Datatable1 TO Datatable1 + {['値4', '値5', '値6'] }
/# 複数値の追加
※列名定義無しの場合#/
SET Datatable2 TO {['値1', '値2', '値3'], ['値4', '値5', '値6'], ['値7', '値8', '値9'] }
/# 複数値の追加
※列名定義ありの場合#/
/# 複数値の追加
※列名定義ありの場合#/
SET Datatable3 TO { ^['列1', '列2', '列3'] }
SET Datatable3 TO Datatable3 + {['値1', '値2', '値3'] } + {['値4', '値5', '値6'] } + {['値7', '値8', '値9'] }
/# 列名定義ありの場合、下記は出来ないので注意!
#/
SET Datatable4 TO { ^['列1', '列2', '列3'] }
# 変数の組み合わせ
SET Datatable5 TO { ^['列1', '列2', '列3'] }
LOOP LoopIndex FROM 1 TO 10 STEP 3
    SET Datatable5 TO Datatable5 + {['値' + LoopIndex, '値' + (LoopIndex + 1), '値' + (LoopIndex + 2)] }
END

注意事項

モバイルバージョンを終了