【Power Automate】条件分岐の使い方完全ガイド|If(Else)・Switch(Case)の違い

スポンサードリンク
PowerPoint
  • Power Automateで条件分岐を使いたい
  • 条件によって違う処理をさせたい
  • やり方はわかっているけど、うまく動作しない

上記のようなお悩みを解決に導きます。
本記事では、下記のような内容をまとめて解説いたします。

  • 条件分岐の基本構造
  • Power Automateで条件分岐を行う方法
  • If(Else、Else if)の使い方、Switch(Case)との違い

まずは使い方を説明する前に、条件分岐の基本構造を確認しましょう。

※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください

スポンサードリンク

【Power Automate】条件分岐の基本構造

条件分岐は、「ある条件を満たしたときに処理を実行する」 という仕組みのことです。

Ifのイメージ

わかりやすく日常で例えるなら下記のような場合です。

  • もし雨が降っていたら、傘を持っていく
  • もし明日が休日なら、遊園地に行く
  • もし室温が15~25℃以外なら、エアコンをつける

Power Automateに置き換えると、下記のようなことができます。

  • もしファイルが存在するならファイルを開く、無ければ終了
  • もし金額が10,000円以上なら終了、未満なら続行
  • もし入力値が「Utatane」なら次の画面へ、違うならエラーを表示

「もし●●▲▲なら■■する」というのが条件分岐の特徴です。
では、条件分岐の使い方を見ていきましょう。

スポンサードリンク

【Power Automate】条件分岐の使い方

条件分岐は主に2つのアクションが存在します。

  • If(Else・Else if)
  • Switch(Case)

双方の違いは分岐の判定方法にあります。
ざっくり説明すると下記のようになります。

  • If:条件に一致するかしないかで判定
  • Switch:●●に一致したら▲▲、■■に一致したら◆◆、◎◎に一致したら▽▽という判定

文章で説明するより、実際に見てみましょう。

条件分岐を作動させるには、変数の作成が必要になります。
今回は、変数「NewVar」を事前に用意しました。
変数の作成方法については、下記記事をご参考ください。

また、Power Automateの基本的な使い方は下記記事にまとめてあります。

ではまず、一般的な「If」を使った条件分岐から見ていきましょう。

If

事前に変数「NewVar」に「0」を代入しています。

If1

今回は、
【もし「NewVar」「0」ならメッセージを表示、「0以外」なら何もしない】
というフローを作っていきます。

ではIfによる条件分岐を設定していきましょう。

左側のアクションエリアから「条件」を探します。
「条件」の左側にある「>」をクリックすることで追加のアクションが表示されます。
その中から「If」をクリックし、中央のエリアにドラッグ&ドロップしてください。

If2

「If」画面が開きますので、3つの設定をします。

If3
  • 最初のオペランド
  • 演算子
  • 2番目のオペランド

「オペランド」とは、簡単に言うと「比較対象」だと思ってください。
「私とあなた」「りんごとみかん」「朝と夜」というような感じでしょうか。
これから「最初のオペランド」と「2番目のオペランド」を比較していくということです。

「最初のオペランド」には変数「NewVar」を設定します。
右側の{x}をクリックし、出てきた画面の下にある「NewVar」をダブルクリックします。

If4

演算子はそのままでOKです。
条件に応じて変更してください。

【指定できる演算子】

  • (2番目のオペランド)と等しい:=
  • (〃)と等しくない:<>
  • (〃)より大きい:>
  • (〃)以上:>=
  • (〃)より小さい:<
  • (〃)以下:<=
  • (〃)を含まない
  • (〃)が先頭
  • (〃)が先頭でない
  • (〃)が末尾
  • (〃)が末尾でない
  • 空である
  • 空でない

「2番目のオペランド」には「0」を入力し、「保存」をクリックします。

If5

これで、変数「NewVar」と「0」を比較する条件が設定できました。
(【もし「NewVar」「0」と等しいなら~】までが完了)

If6

しかしながら、このままでは比較されただけで終わるため、条件に一致したときの処理を追加します。
(【もし「NewVar」「0」と等しいなら■■する】まで作る)

左側のアクションエリアにある「メッセージボックス」→「メッセージを表示」を中央エリアにドラッグ&ドロップします。
※「If」と「End」の間に入れるようにしてください

If7
If8

これで条件分岐が完了です。

If9

これで【もし「NewVar」「0」と等しいなら、メッセージを表示させる】となります。
では、フローを保存して実行してみましょう。

If10

メッセージが表示されました。
今度は変数の値を「1」に変更して実行してみます。

If11

メッセージは表示されませんでした。成功です。
条件に一致しなかった場合の処理を設定することもできます。
それが「Else」です。

Else

「Else」を使うことで、条件に一致しなかった場合の処理を設定できます。

Elseのイメージ

現在、Ifを設定した場面です。

If~Else1

左側のアクションエリアの「条件」→「Else」を中央エリアにドラッグ&ドロップしてください。
※「メッセージ」と「End」の間(3と4の間)に入れてください

If~Else2

「Else」が追加されました。

If~Else3

では条件に一致しなかった場合の処理B(メッセージ)を追加しましょう。
※「Else」と「End」の間(4と5の間)に入れる

If~Else4
If~Else5

フローを保存して実行してみます。

If~Else6

「NewVar」が「1」なので、一致しなかったメッセージが表示されました。

一致しなかった場合も、さらに条件に応じて分岐させることができます。
それが「Else if」です。

Else if

「Else if」を使うことで、条件に一致しなかった場合の処理をさらに分岐させることができます。

Else ifのイメージ

現在、Ifを設定した場面です。

If~Else if1

左側のアクションエリアから「条件」→「Else if」を中央エリアにドラッグ&ドロップしてください。
※「メッセージ」と「End」の間(3と4の間)に入れる

If~Else if2

「If」の中にさらに「If」が入ったと思ってください。
このように「If」の中に「If」を重ねることを「ネストする(入れ子する)」と言います。

「Else if」画面が表示されたら、条件aの時と同様に、条件bを設定します。

If~Else if3

今回は変数「NewVar」が「0」より小さい、つまりマイナスの時の処理を設定します。
今までと同じように、「メッセージ(処理B)」を追加しましょう。

最後に「0」と「マイナス」以外の時、つまりプラスの時の設定をします。
「Else if」の条件に一致しなかったときの処理なので、「Else」を使います。
「Else」と「メッセージ(処理C)」を追加して完了です。

If~Else if4

では、「NewVar」の値を変えて実行してみましょう。

If~Else if5

値によって違う結果が表示されました。成功です。

条件に一致した場合も分岐させたい場合は、「If、Else」をネストしてください。
ネストが複雑と感じる場合は、次の「Switch」をおすすめします。

Switch

複数の条件を扱う場合は、IfよりもSwitchが適切です。
Ifでは入れ子(ネスト)していましたが、Switchでは必要ありません。

Switchのイメージ

では、Switchの使い方を見ていきましょう。

左側のアクションエリアの「条件」→「Switch」を中央エリアにドラッグ&ドロップしてください。

Switch1

「Switch」画面が開いたら、「チェックする値」に変数「NewVar」を設定します。

Switch2

「Switch」が追加されました。

Switch3

これだけでは何も起こりませんので、条件を設定していきます。
条件の設定には「Case」を使います。
左側のアクションエリアの「条件」→「Case」を中央エリアにドラッグ&ドロップしてください。
※「Switch」と「End」の間(2と3の間)に入れる

Switch4

「Case」画面が開いたら、下記の2つを設定します。

  • 演算子:今回は0と等しい
  • 比較する値:今回は0

これで変数「NewVar」が「0」と等しい場合の条件が設定できました。
(【もし「NewVar」「0」と等しいなら~】まで)

Switch5
Switch6

次に、メッセージボックスをCaseの下に追加します(「Case」と「End」の間)
これで1つの条件が完成です。
(【もし「NewVar」「0」と等しいなら、メッセージを表示させる】まで完成)

あとはこの「Case追加」と「メッセージ追加」を繰り返すだけです。
「Case」は「マイナスの時」と「プラスの時」を設定しましょう。

Switch7

条件と処理が追加できたので、変数「NewVar」の値を変えて実行してみます。

Switch8

値によって違う結果が表示されました。成功です。

If・Switchの比較

双方の特徴を改めてまとめました。

項目IfSwitch
主な用途条件判定全般値ごとの分岐
分岐の考え方条件式が自由1つの値を基準に分岐
複数分岐ネストが必要(Else、Else if)ネストが不要(Case)
見やすさ条件が増えると見にくい見やすい
初心者向け
アクションIf アクション(Else、Else if)Switch アクション(Case)

1つの変数の値によって細かく分岐したい場合は「Switch」を選ぶのが適切です。

スポンサードリンク

条件分岐がうまく動かない原因と対処法

全角・半角の違い

変数に代入する値や、条件式で判定する値は、「半角・全角」を区別します。
例えば、変数には半角、条件式では全角で指定した場合、「不一致」となりますので注意しましょう。

特にこだわりがなければ、英数字は半角、カタカナは全角で統一することをおすすめします。

空白が混ざっている

変数に代入する値や条件式で判定する値に空白が混ざっていると、正常に判定されない場合があります。

データ型の違い

数値「100」が入った変数は基本的に数値型となるのですが、全角だった場合やフローの過程によっては文字列型となる場合もあります。
型違いの場合、不一致扱いとなりますので注意しましょう。

日付フォーマットの違い

「2026/01/01」と「2026-01-01」は別物として判定されます。
日付フォーマットは統一しておきましょう。

スポンサードリンク

まとめ

Power Automate の IF(条件分岐)を使いこなせるようになると、下記のような大きなメリットがあります。

  • 自動化の幅が一気に広がる
  • エラー処理が安定する
  • 実務フローがより賢くなる

まずは「文字列」「数値」の判定から練習し、少しずつ複雑な条件に挑戦してみてください。

スポンサードリンク

最後に

当ブログでは、VBAマクロやPythonなど、時間を生み出すプログラミング術を公開しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。

最後までお読みいただき、ありがとうございました。がんばってください!

タイトルとURLをコピーしました