サイトアイコン JobAutoマニュアル

JobAutoでExcelの行ループを途中終了する方法|空白行の判定

★質問・概要

Q.Excelの行を繰り返し処理していますが、データの件数が毎回異なります。設定した行数まで処理を続けず、途中の空白行でループを終了することはできますか?

★回答

はい、できます。JobAutoのExcel操作で「行の繰り返し」アクションを使用し、必ずデータが入っている列が空白になったら「繰り返し処理をやめる」ように設定します。

「行の繰り返し」で取得した値を変数に格納し、繰り返し範囲内に配置した「変数の値を評価」アクションで空白かどうかを判定します。空白の場合に繰り返し処理を終了させることで、残りの行に対する不要な処理を行わずに済みます。

操作例はExcelループの終わり方(動画付き)でも確認できます。

1.空白行でExcelのループを終了する設定

  1. Excel操作の「行の繰り返し」アクションで、対象のブック・シート・セル範囲を設定します。
  2. 「列名と変数の対比表」で、各行に必ず入力されている列(例:商品コード)をJobAutoの変数へ格納するように設定します。
  3. 行ループの繰り返し範囲内で、行の値を取得した後に「変数の値を評価」アクションを配置します。
  4. 左辺に商品コードなどの変数を指定し、条件式を「=」、右辺を空白として判定します。
  5. 空白と判定した場合は「ハンドリング処理」を実行し、その「対処」を「繰り返し処理をやめる」に設定します。
  6. 空白でない場合は「継続処理」とし、必要な入力や転記などの処理を続けます。
  7. 少ない件数のExcelで全実行し、空白行に達した時点でループが終了することを確認します。

「変数の値を評価」の設定項目は、JobAutoで変数を判定して繰り返し処理をやめる方法をご確認ください。

2.判定に使用する列の選び方

空白判定には、データが存在する行では必ず値が入っている列を使用してください。たとえば、商品コードがすべての明細行に入力されるExcelなら、商品コードの値を判定します。

商品コード(判定対象)商品名処理
A001商品A処理を続ける
A002商品B処理を続ける
(空白)(空白)繰り返し処理を終了する

途中に空白が含まれることのある列を判定対象にすると、まだ処理すべき行が残っていても、その時点でループが終わってしまいます。途中に空白行があっても後続行にデータが存在するExcelには、この終了条件をそのまま使用しないでください。

3.「繰り返し処理をやめる」と「次の繰り返し処理に移動する」の違い

設定処理内容
繰り返し処理をやめる繰り返し自体を終了し、残りの行を処理しません。
次の繰り返し処理に移動する現在の行の残りの処理を行わず、次の行へ進みます。

今回のように、データの終わりを検知して残りのループを終了したい場合は「繰り返し処理をやめる」を使用します。特定の1行だけを飛ばしたい場合とは設定が異なります。

4.ループが途中で終了しない場合の確認事項

処理対象の行数が毎回変わる場合は、「行の繰り返し」の「データ範囲設定」も確認してください。現在のマニュアルでは、データ量が変わる場合に「範囲を拡張する」を選択できます。ただし、空白を終了条件にする方法とは別の設定のため、目的に合わせて選択します。


関連するマニュアル・ナレッジ

JobAutoのFAQ記事一覧へ戻る

モバイルバージョンを終了