目次
1. IF文の基本とは?
IF文は「もし〜なら〜する」という条件分岐を行うための構文です。
Power Automate Desktopでは、IFアクションを使って次のような処理を作ります👇
条件が真(True)のとき:特定のアクションを実行
条件が偽(False)のとき:別のアクションを実行(Elseブロック)
この仕組みを使えば、値の比較や分岐処理が自由に行えます。
2. IF文で「AND」を使う(基本編)
複数の条件がすべて成立した場合にTrueとしたいときに使います。
🔧手順
- 新しいフローを作成。
- 「変数の設定」アクションを2つ追加。
- 変数1:
変数_1に「東京」 - 変数2:
変数_2に「大阪」
- 変数1:
- 「If」アクションを追加。
- 条件式を設定:
%変数_1% = "東京" AND %変数_2% = "大阪" - Ifブロックの中に「メッセージを表示」アクションを追加。
- Trueの場合:「両方の条件に一致しました!」
- Elseブロックの中にも「メッセージを表示」を追加。
- Falseの場合:「条件が一致しませんでした。」
▶結果
変数が「東京」「大阪」なら「True」のメッセージが表示されます。
どちらかが違う場合は「False」のメッセージになります。
3. IF文で「OR」を使う(基本編)
複数条件のどちらか1つでも成立したらTrueにしたい場合に使います。
🔧手順
- 先ほどのフローをコピーして編集。
- IFアクションの条件式を以下に変更:
%変数_1% = "東京" OR %変数_1% = "名古屋" - Trueブロック:「いずれかの条件に一致しました」
- Elseブロック:「どちらの条件にも当てはまりません」
▶結果
変数に「東京」または「名古屋」が入っていればTrueになります。
4. Excelを使ったIF+ANDの応用(実務編)
次は、Excelの中身を行ごとにチェックして、
条件を満たす行に「該当」と書き込む例です。
📊準備
- Excelファイルを用意
- A列:商品名
- B列:在庫数
- C列:結果(空欄)
🔧手順
- 「Excelの起動」でファイルを指定。
- 「Excelワークシートから読み取り」で範囲を指定(A1~B15)。
- 「Forループ」を追加して1行ずつ処理。
- 開始値:1
- 終了値:14
- 増加値:1
- ループ内に「If」アクションを追加。
- 条件式:
%ExcelData[LoopIndex][0]% = "ノートPC" AND %ExcelData[LoopIndex][1]% >= 60 - つまり「A列がノートPC」「B列が60以上」のときにTrue。
- 条件式:
- Trueブロックに「Excelワークシートに書き込み」を追加。
- 書き込み列:C
- 行番号:
%LoopIndex% - 値:「該当」
▶結果
条件を満たす行のC列に「該当」と自動で入力されます✨
5. Excelを使ったIF+ORの応用(実務編)
次は「ノートPC」または「タブレット」なら該当とするケースです。
🔧手順
- 先ほどのフローを複製。
- IF条件を変更:
%ExcelData[LoopIndex][0]% = "ノートPC" OR %ExcelData[LoopIndex][0]% = "タブレット" - Trueブロックの処理は同じ(C列に「該当」と書き込む)。
▶結果
A列が「ノートPC」か「タブレット」ならC列に「該当」と入力されます。
このように、AND/ORを使うことでExcelデータを自動判定し、
条件に応じた処理を柔軟に行うことができます。
よくある質問(FAQ)
Q1. IF文で「AND」と「OR」を同時に使うことはできますか?
A. 可能です。括弧で優先順位を明確にすると正しく動作します。
例:
(%A% = "東京" OR %A% = "大阪") AND %B% > 50
Q2. 条件式で「無効な値」と表示されます。
A. %(パーセント)のつけ忘れや、文字列の引用符 " " が抜けていることが原因です。
Q3. Excelのデータをループで読み取るときに空欄があるとエラーになります。
A. 空欄は「条件に一致しない」として処理されるため、IF内でエラーになりませんが、必要に応じて空欄チェックを追加しましょう。
Q4. 「該当」を入力する代わりに色をつけることはできますか?
A. 可能です。Excelワークシートに書き込む代わりに「セルの書式設定」アクションを使えばOKです。
