Excelを行番号の降順に読み出すときの設定を紹介します。
※このページの内容はBizRobo! Design Studio 10.4.0.1で確認しています。
「Excel内ループ(Loop Raws)」アクションでループバック機能を活用しよう!
【ケーススタディ】
Excelに日々のデータを記録する運用を行っている管理表から、直近で記録したデータを取得するケースを題材にします。管理表は、あらかじめ日付が入力してあって、データのみ日々記録していく運用とします。
行番号の昇順にセル値をチェックしていく処理の場合は、必ず最終行までループする必要があります。(土曜日・日曜日がデータなしになるので、データなしになった行の1つ前の行が直近のデータという判定はできません。)
これに対して、最終行から行番号の降順にセル値をチェックしていく処理では、データあり(データなしでない)行を見つけたところでループを終了することが可能なので、昇順に処理するよりも少しスマートな感じですね。
では、Excelの読み出しを行番号の降順に行うには、どうしたらいいでしょうか。
【設定方法】
1.「Excel内ループ(Loop Raws)」アクションでループバック機能を利用します。
ここでは簡単にするために、最終行が32行目の例を示しています。
行番号の昇順に読み出す場合と設定で違うのは、[ループバック]にチェックを入れるところだけです。こうするだけで、ループのイテレーション=1が最終行になって、Excelを行番号の降順に読み出すことができます。
2.「値判定(Test Value)」アクションで抽出したセルの値がデータなしでないときループを終了します。
(1)条件入力方法を[エクスプレッション]に変更します。
(2)[条件]を「値がデータなし」に設定します。
※【変数.抽出データ】・・・抽出した値を格納する変数
※【==】・・・等しい
※【””】・・・データなし
(3)「値判定(Test Value)」アクションのエラー処理(この例では、「データあり」の場合)として「ループ終了」を選択します。