RPAで業務を自動化していく中で、「状況によって処理を切り替えたい」という場面は頻繁に出てきます。例えば「請求書フォルダにPDFがあれば保存する」「メール件名に“エラー”が含まれていれば通知する」といったように、処理の分岐は現場の自動化に欠かせません。
UiPathでは「Ifアクティビティ」を利用することで、条件に応じて処理を分けることができます。プログラミングの経験がなくても、直感的に条件分岐を構築できるのが魅力です。この記事では、UiPathにおけるIfアクティビティの基本から応用までを解説し、実務で役立つ活用方法やベストプラクティスを紹介します。
目次
- ✅ Ifアクティビティの基本を理解しよう
- ・Ifアクティビティとは?
- ・構成要素
- ✅ 基本的な使い方の例
- ・数値判定
- ・文字列判定
- ・ファイル存在チェック
- ✅ 実務でのIfアクティビティ活用例
- ・請求書の仕分け
- ・売上金額のチェック
- ・フォルダ存在確認
- ・処理成功・失敗の判定
- ✅ Ifアクティビティと他アクティビティの組み合わせ
- ・For Each × If
- ・Switchアクティビティとの比較
- ・Flow Decisionとの違い
- ✅ Ifアクティビティでよく使う条件式パターン
- ・数値比較
- ・文字列比較
- ・日付判定
- ・オブジェクトのNullチェック
- ✅ Ifアクティビティ活用のベストプラクティス
- ・条件式はシンプルに
- ・変数や定数を活用
- ・ログ出力を活用
- ・エラー処理と組み合わせる
- ✅ 実務シナリオ別の応用例
- ・経理業務
- ・人事業務
- ・営業支援
- ・システム運用
- ✅ Ifアクティビティ使用時の注意点
- ・条件式の誤り
- ・Null値エラー
- ・過剰なネスト
- ✅ Ifアクティビティと運用設計のポイント
- ・条件式を外部化
- ・定期実行との組み合わせ
- ・チーム開発での可読性
- ■ まとめ:UiPathでIfアクティビティを使いこなし、柔軟な自動化を実現しよう
✅ Ifアクティビティの基本を理解しよう
・Ifアクティビティとは?
Ifアクティビティは、条件式がTrueの場合とFalseの場合で処理を分岐させるためのアクティビティです。プログラミングでいう「if文」と同じ役割を持ち、業務自動化における柔軟性を高めます。
・構成要素
- Condition(条件式):判定に使う式を記述
- Then(Trueの場合):条件が成り立ったときの処理を配置
- Else(Falseの場合):条件が成り立たなかったときの処理を配置参考:【UiPath】Excel業務を完全自動化する方法|初心者から実務活用まで解説
✅ 基本的な使い方の例
・数値判定
例:変数xが10以上なら「合格」、それ以外なら「不合格」と出力する。
Condition:x >= 10
Then → 「Write Line」アクティビティで「合格」
Else → 「Write Line」アクティビティで「不合格」
・文字列判定
例:変数statusが「完了」なら処理を進める。
Condition:status = "完了"
・ファイル存在チェック
File.Exists("C:\Data\report.xlsx")
→ Trueなら処理を実行、Falseならエラー通知を送る
✅ 実務でのIfアクティビティ活用例
・請求書の仕分け
件名に「請求書」が含まれるメールなら添付を保存、それ以外ならスキップ。
・売上金額のチェック
売上が基準値以上なら「優良顧客」として別リストに追加。
・フォルダ存在確認
指定のフォルダが存在しなければ自動で新規作成。
参考:【VBA】フォルダを指定(ダイアログ・全て・ファイル名の一部指定)でファイルを開く方法
・処理成功・失敗の判定
処理結果が正常であれば「次の工程へ」、異常なら「エラーログ出力」。
✅ Ifアクティビティと他アクティビティの組み合わせ
・For Each × If
繰り返し処理の中で条件分岐を組み込むことで、柔軟なデータ処理が可能。
例:フォルダ内の複数ファイルを処理し、「.xlsx」の場合だけExcelで開く。
・Switchアクティビティとの比較
条件が複数ある場合はSwitchの方が適切。
例:ステータスが「未処理」「処理中」「完了」で分岐。
・Flow Decisionとの違い
フローチャート形式で分岐を視覚的に表現したい場合は「Flow Decision」を利用すると見やすくなる。
参考:【UiPath】繰り返し処理を効率化!For Eachアクティビティ活用術
✅ Ifアクティビティでよく使う条件式パターン
・数値比較
x > 100score >= 60
・文字列比較
text.Contains("エラー")fileName.EndsWith(".csv")
・日付判定
参考:【UiPath】メール送信を自動化する方法と活用例|Outlook・Gmail対応の実務活用術Now.Date > DateTime.Parse("2025-01-01")
・オブジェクトのNullチェック
variable Is Nothing
✅ Ifアクティビティ活用のベストプラクティス
・条件式はシンプルに
複雑すぎる条件は可読性を下げる原因になります。分解して複数のIfに分けた方が保守性が高まります。
・変数や定数を活用
数値や文字列を直書きせず、定数や変数にまとめると後から修正が容易になります。
・ログ出力を活用
ThenやElseに「Log Message」を入れておくと、処理がどちらに進んだかを確認でき、デバッグがスムーズになります。
・エラー処理と組み合わせる
Try Catchと併用し、Ifで異常値をチェックしたら例外処理に分岐する、といった設計で安定性を高められます。
✅ 実務シナリオ別の応用例
・経理業務
入金額が請求額と一致するかチェックし、一致しなければアラートメールを送信。
参考:【Excel】月と日付に合わせた曜日を自動表示する方法【カレンダー・日報・スケジュール表に最適】
・人事業務
勤怠データで「遅刻回数が3回以上」なら管理者に通知。
参考:【Excel】【成績処理】複数教科の合否判定をIF関数で自動化する方法(合格/再試験/不合格)
・営業支援
顧客のステータスが「契約中」ならアップセル情報を送付、それ以外は通常フォローに回す。
・システム運用
ログファイルに「ERROR」が含まれていたら担当者にメールを送信。
✅ Ifアクティビティ使用時の注意点
・条件式の誤り
「=」と「==」を混同したり、大文字小文字の違いで判定がズレることがあります。
・Null値エラー
対象がNothingの場合にメソッドを呼び出すとエラーになるため、先にNullチェックを行うことが重要です。
・過剰なネスト
Ifを入れ子にしすぎると処理が読みにくくなります。フローチャートやSwitchを適宜利用しましょう。
✅ Ifアクティビティと運用設計のポイント
・条件式を外部化
Excelや設定ファイルに条件を定義し、UiPathが参照する仕組みにすると運用が容易になります。
・定期実行との組み合わせ
条件分岐を含むワークフローをOrchestratorで定期実行することで、完全無人化が可能です。
・チーム開発での可読性
他のメンバーが見てもわかりやすいように、Ifの条件式や処理内容にはコメントを残しておくのが理想です。
■ まとめ:UiPathでIfアクティビティを使いこなし、柔軟な自動化を実現しよう
- Ifアクティビティは条件に応じて処理を分岐させる基本アクティビティ
- 数値比較・文字列判定・ファイル存在確認・日付判定などで広く活用可能
- 実務では請求書仕分け、売上チェック、エラーメール検知などで役立つ
- ベストプラクティスは「条件をシンプルに」「変数化」「ログ活用」「エラー処理との組み合わせ」
- 応用すれば経理・人事・営業・システム運用など多様な分野で使える
Ifアクティビティを使いこなせば、UiPathの自動化は一段と柔軟になります。まずはシンプルな条件分岐から始め、実務フローに合わせて応用していきましょう。