← 手順一覧へ戻る
Power Automate Desktop条件分岐初心者向け

Switchで状態ごとに処理を分ける(Case・Default caseを図解)

未処理・完了・保留などの文字列をSwitchで振り分け、Case内の表示とEnd後の共通処理を4つの入力例で確認します。

画面上の名前は、表示言語やバージョンによって異なる場合があります。Desktopの例は、フロー作成時に「Power Fx を有効にする」をオフにした標準構文です。Power Fx対応フローでは式・変数参照・インデックスの書き方が異なります。このページでは変数を %変数名% と表記します。出力変数の名前を入力する欄では、前後の % は付けません。

実行前に確認

  • 有人・手動実行の練習です。外部コネクターへの接続やExcelファイルは不要です。利用するWindows・アカウント・組織ポリシーを確認し、クラウド起動や無人実行へ広げる場合は別途ライセンス条件を確認してください。
  • この例の2つのCaseは同じ文字列変数への完全一致なので重なりません。数値と文字列を混ぜず、前後の空白や表記ゆれを含めて入力値を確認します。空白除去や状態名の変換はこのフローにはありません。
  • Default caseは「どのCaseにも合わない値」の受け皿です。アクションの失敗やタイムアウトを受けるエラー処理ではありません。エラー時に自動でDefault caseへ進むと考えないでください。
  • Case直下のメッセージはその枝の処理、End後の「確認終了」は正常に分岐を抜けた後の共通処理です。Default caseを通っても「確認終了」は表示されるため、この表示だけで入力が正しいと判断しません。
  • メッセージはOKを押すまで待機します。選ばれた枝で停止やエラーが起きた場合、End後まで到達したことにはなりません。実データ更新や通知を追加する前に、各分岐の条件と影響を別途確認してください。

1使うアクション

  1. アクション 1変数の設定
  2. アクション 2Switch
  3. アクション 3Case未処理
  4. アクション 4メッセージを表示未処理のCase内
  5. アクション 5Case完了
  6. アクション 6メッセージを表示完了のCase内
  7. アクション 7Default caseどのCaseにも一致しない
  8. アクション 8メッセージを表示Default case内
  9. アクション 9EndSwitchの終わり
  10. アクション 10メッセージを表示Endの後:確認終了(共通処理)

図で見る処理のイメージ

概念図

まずは「状態で変わる最初の表示」と「どの枝でも出る最後の表示」を見分けます。未処理と完了だけを既知の値にし、保留・完了済は確認が必要な値として扱います。

状態で分かれて、Endの後で合流する

Switch:%StatusText%同じ入力値を、2つのCaseと比べる

Case 1未処理と等しい

これから処理します

OKを押してEndへ
Case 2完了と等しい

処理済みです

OKを押してEndへ
Default caseどちらにも一致しない

状態を確認してください

OKを押してEndへ

End選ばれた枝から合流共通のメッセージ:確認終了

「完了済」は「完了」と別の値この例は完全一致。完了済・保留はDefault caseへ進みます。

3つの枠を順番に実行する図ではありません。この例では入力に合う枝の表示が1つ、その後に共通表示が1つ出ます。「確認終了」は業務処理の成功通知ではありません。実際の設定画面・実行結果ではない概念図です。
結果の例

未処理なら「これから処理します」→OK→「確認終了」。完了済は完了と完全一致しないため、Default caseへ進みます。

狭い画面では、表を横にスクロールして最後の共通表示まで確認できます。

入力を1つずつ変えたときの期待値(正常にOKを押して進む場合)
StatusTextの値選ばれる枝最初のメッセージOKを押した後
未処理Case:未処理これから処理します確認終了
完了Case:完了処理済みです確認終了
保留Default case状態を確認してください確認終了
完了済Default case状態を確認してください確認終了

図と表は設定例から求めた期待値です。実際のPower Automateフローを実行して確認した結果ではありません。ファイル変更・メール送信は行いません。

設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。

2実際の設定内容

入力する値・操作手順を確認する9ステップの設定と確認方法
  1. 1

    準備:WindowsのPower Automate for desktopで、Power Fxをオフにした練習用デスクトップフローを作り、手動で実行します。実データの更新やメール送信をせず、架空の状態をメッセージで確認します。

  2. 2

    「変数の設定」で変数を StatusText、値を 未処理 にします。ここで示す「」は説明用なので入力しません。Switchのチェックする値には、変数選択から %StatusText% を指定します。

  3. 3

    SwitchとEndの間にCaseを置き、演算子=等しい(=)、比較する値=未処理 にします。その直下に「メッセージを表示」を置き、本文=これから処理します にします。

  4. 4

    同じSwitchとEndの間に2つ目のCaseを置き、演算子=等しい(=)、比較する値=完了 にします。その直下のメッセージ本文は 処理済みです にします。Caseごとに別のEndを追加しません。

  5. 5

    2つのCaseの後、SwitchのEndの前にDefault caseを追加します。条件の入力は不要です。その直下のメッセージ本文は 状態を確認してください にします。

  6. 6

    SwitchのEndより下、Switchブロックの外側に「メッセージを表示」を追加し、本文=確認終了 にします。すべてのメッセージはボタン=OK、自動的に閉じる=オフにします。

  7. 7

    最初は未処理で実行します。「これから処理します」でOKを押すと、共通の「確認終了」が出ます。これは状態判定の練習が終わった印で、業務処理の成功を意味しません。

  8. 8

    先頭のStatusTextだけを 完了、保留、完了済 に変えて、それぞれ保存して先頭から実行します。下の表と最初の表示を比べ、OK後に共通表示が出ることも確認します。確認後は未処理へ戻して保存します。

  9. 9

    想定外のCaseへ入る場合は、実行時のStatusText、演算子、比較する値、メッセージの配置を確認します。「等しい」を「含む」に変えると判定の意味が変わります。特に完了済を完了扱いしたくない場合は、等しいを保ちます。

Microsoft公式ページで確認する