★質問・概要
Q.JobAutoのExcel行ループで、途中に条件分岐を配置した場合、その条件分岐も行ループの回数だけ実行されますか? どこまでが繰り返しの対象ですか?
★回答
はい。Excelの行ループから、そのループに対応するendまでの繰り返し範囲に含まれるアクションは、各行を処理するたびに繰り返しの対象になります。条件分岐をその範囲に配置した場合、条件の判定も各行で行われます。
ただし、条件分岐から分かれたすべてのフローが毎回実行されるわけではありません。条件判定の結果に応じて、実際に通るフローが決まります。
1.アクションフロー
行ループの途中で値を判定し、空欄の場合に別のフローへ進む構成です。

行ループの1回目、2回目、3回目と処理が進むたびに、ループ範囲内の条件判定は再び実行されます。ただし、判定結果が異なれば、条件分岐の後に実行されるアクションも変わります。
2.繰り返しの対象になる範囲を確認する
JobAutoでは、繰り返しアクションから対応するendまでのフローが繰り返しの対象になります。ブランチによってフローが複数に分かれていても、繰り返しの範囲内にあるフローは対象です。
ロボデザインでは、繰り返しアクションを選択すると、その繰り返し範囲のフローの線が緑色で表示されます(バージョン0.10.8以降)。どのアクションが繰り返されるのか分からない場合は、この表示を確認してください。
詳しいフロー構成はアクションフローにおける繰り返し範囲の説明をご確認ください。
3.途中の行で変数が空になったら終了したい場合
行ループの途中で取得した値が空欄になったとき、以降の行を処理せず繰り返しを終了したい場合は、「変数の値を評価(繰り返し処理をやめる)」を使用します。
- Excelの「行の繰り返し」で、判定に使用する列の値を変数へ格納します。
- 行ループ内の先頭付近に、変数の値を評価するアクションを配置します。
- 変数が空欄である場合に「繰り返し処理をやめる」よう設定します。
- 値がある場合は、その行の後続処理を実行します。
この方法は、元記事のコメント欄でサポートチームが紹介した対処方法です。コメント当時は「値判定」と説明されていますが、現在の関連マニュアルでは「変数の値を評価(繰り返し処理をやめる)」という名称で案内されています。

※上の画像は2018年のサポートコメントに掲載されていた設定例です。現在の画面構成や表記と異なる場合は、関連マニュアルを参照してください。
4.ループ終了後に1回だけ処理したい場合
「行ループのすべての行を処理したあとに、Excelの保存などを1回だけ行いたい」という場合は、そのアクションを繰り返し範囲の外へ配置します。
たとえば、繰り返しアクションより前のブランチから別のフローを作成すると、そのフローのアクションは繰り返し対象に含まれません。ループ範囲内かどうかは、繰り返しアクションを選択したときの緑色の線で確認してください。
5.「繰り返しをやめる」と「次の繰り返しに移動」の違い
| 処理 | 動作 |
|---|---|
| 繰り返し処理をやめる | 現在の行ループを終了し、残りの行は処理しません。 |
| 次の繰り返し処理に移動する | 現在の行の後続処理を飛ばし、次の行の処理へ進みます。 |
空欄が現れた時点でその行ループ全体を終了したい場合は、「繰り返し処理をやめる」を使用してください。一方、空欄の行だけを飛ばして次の行を処理したい場合は、「次の繰り返し処理に移動する」を使用します。
関連するマニュアル・FAQ
- JobAutoのアクションフローにおける繰り返し:繰り返し範囲の確認、範囲外へアクションを置く方法
- JobAutoでExcelの行を繰り返し処理する方法(ヘッダーあり):行ループの対象範囲、列名と変数の対応
- Excelのループ処理を途中で終了する方法:繰り返しを意図的に終了させる操作例
- JobAutoで変数を判定して繰り返し処理をやめる方法:空欄などの条件でループを終了する設定

条件分岐は使わず、繰り返しアクション「行ループ0」のすぐ後に、値判定で変数が
空だったらハンドリングにて「繰り返し処理をやめる」
を選択することで行ループは終了します。
[…] A.取得したエクセルの行の値に対して、判定処理を行います。値が空白だったら、繰り返しをやめるという設定をします。 こちらをご参照ください。 […]