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変数の設定
- アクション 2Switch
- アクション 3Case未処理
- アクション 4メッセージを表示未処理のCase内
- アクション 5Case完了
- アクション 6メッセージを表示完了のCase内
- アクション 7Default caseどのCaseにも一致しない
- アクション 8メッセージを表示Default case内
- アクション 9EndSwitchの終わり
- アクション 10メッセージを表示Endの後:確認終了(共通処理)
図で見る処理のイメージ
概念図まずは「状態で変わる最初の表示」と「どの枝でも出る最後の表示」を見分けます。未処理と完了だけを既知の値にし、保留・完了済は確認が必要な値として扱います。
状態で分かれて、Endの後で合流する
Switch:%StatusText%同じ入力値を、2つのCaseと比べる
これから処理します
OKを押してEndへ処理済みです
OKを押してEndへ状態を確認してください
OKを押してEndへEnd選ばれた枝から合流共通のメッセージ:確認終了
「完了済」は「完了」と別の値この例は完全一致。完了済・保留はDefault caseへ進みます。
未処理なら「これから処理します」→OK→「確認終了」。完了済は完了と完全一致しないため、Default caseへ進みます。
狭い画面では、表を横にスクロールして最後の共通表示まで確認できます。
| StatusTextの値 | 選ばれる枝 | 最初のメッセージ | OKを押した後 |
|---|---|---|---|
| 未処理 | Case:未処理 | これから処理します | 確認終了 |
| 完了 | Case:完了 | 処理済みです | 確認終了 |
| 保留 | Default case | 状態を確認してください | 確認終了 |
| 完了済 | Default case | 状態を確認してください | 確認終了 |
図と表は設定例から求めた期待値です。実際のPower Automateフローを実行して確認した結果ではありません。ファイル変更・メール送信は行いません。
設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。
2実際の設定内容
入力する値・操作手順を確認する9ステップの設定と確認方法
- 1
準備:WindowsのPower Automate for desktopで、Power Fxをオフにした練習用デスクトップフローを作り、手動で実行します。実データの更新やメール送信をせず、架空の状態をメッセージで確認します。
- 2
「変数の設定」で変数を StatusText、値を 未処理 にします。ここで示す「」は説明用なので入力しません。Switchのチェックする値には、変数選択から %StatusText% を指定します。
- 3
SwitchとEndの間にCaseを置き、演算子=等しい(=)、比較する値=未処理 にします。その直下に「メッセージを表示」を置き、本文=これから処理します にします。
- 4
同じSwitchとEndの間に2つ目のCaseを置き、演算子=等しい(=)、比較する値=完了 にします。その直下のメッセージ本文は 処理済みです にします。Caseごとに別のEndを追加しません。
- 5
2つのCaseの後、SwitchのEndの前にDefault caseを追加します。条件の入力は不要です。その直下のメッセージ本文は 状態を確認してください にします。
- 6
SwitchのEndより下、Switchブロックの外側に「メッセージを表示」を追加し、本文=確認終了 にします。すべてのメッセージはボタン=OK、自動的に閉じる=オフにします。
- 7
最初は未処理で実行します。「これから処理します」でOKを押すと、共通の「確認終了」が出ます。これは状態判定の練習が終わった印で、業務処理の成功を意味しません。
- 8
先頭のStatusTextだけを 完了、保留、完了済 に変えて、それぞれ保存して先頭から実行します。下の表と最初の表示を比べ、OK後に共通表示が出ることも確認します。確認後は未処理へ戻して保存します。
- 9
想定外のCaseへ入る場合は、実行時のStatusText、演算子、比較する値、メッセージの配置を確認します。「等しい」を「含む」に変えると判定の意味が変わります。特に完了済を完了扱いしたくない場合は、等しいを保ちます。
- 対象環境
- Power Automate for desktop(Windows)
- 更新日
- 2026年10月14日