7. 繰り返し

プログラミングにおいて繰り返し(ループ)処理とは、「同じ処理を複数回実行したい」ときに使用する命令のことです。
たとえば、一般的なプログラミング言語では、対象となるすべてのデータに対して処理を繰り返すforeach(フォーイーチ)文という命令を使って繰り返し処理を記述します。

foreach文の記述例(すべてのデータに同じ処理を繰り返す)

たとえば、以下の配列型の変数「priceList」の中には、「5000, 7000, 9000, 12000, 15000」という5個の値が入っています。
この中から1つずつ値を取り出して合計を出したい場合、一般的なプログラミング言語では以下のように記述します。

priceList = [5000, 7000, 9000, 12000, 15000]
 foreach price in priceList {   ←①
   totalPrice = totalPrice + price   ←②
  }

繰り返し処理の変数「price」に「priceList」の値を順番に入れています。
totalPrice変数に、priceの値を順番に取り出して加算します。

以下はディクショナリ型の例です。変数「salesList」の中に「{“渋谷店”:120000, “横浜店”:225000, “お台場店”:”102000”}」の形で3店舗分の売上金額が以下の形で含まれる場合、売上額の合計を求めるにはこのように記述します。

salesList= {
  “渋谷店”:120000, “横浜店”:225000, “お台場店”:”102000”
  }
 foreach value in salesList.Values {   ←①
   salesMerge = salesMerge + value   ←②
  }

繰り返し処理の変数「value」に「salesList」のvalue値を順番に入れています。
salesMerge変数に、salesListのvalue値を順番に取り出して加算します。

このように繰り返しの命令文を使用すると、1つずつ処理を書き出さなくても済むようになります。

Coopelでの繰り返し処理

Coopelでは、繰り返し処理には[各要素について繰り返す]アクション[指定回数分繰り返す]アクションというアクションが使用できます。
ここでは[各要素について繰り返す]アクションを使用したシナリオを見てみましょう。

各要素について繰り返す(すべてのデータに同じ処理をする)

複数のデータに対し、一律同じ処理を実行するときには[各要素について繰り返す]アクションを使用します。
たとえば、Excelファイル上の売上金額を合算するシナリオを作成してみます。

以下のようにExcelファイルの[ファイルを開く]アクション~[セルをコピー]アクション(①)の下に[各要素について繰り返す]アクション(②)を配置します。

[各要素について繰り返す]アクションの[受け取るリスト]プロパティに[セルをコピー]アクションを参照設定します。

これで、繰り返し処理を行うデータを設定できました。

次に、各セルの値を合算する処理を設定します。
[各要素について繰り返す]アクションの中に[計算をする]アクション(①)を配置します。[右辺]プロパティ(②)に[各要素について繰り返す]アクションを参照設定し、[演算子]プロパティ(③)には[+=]を、[端数の扱い]プロパティ(④)には[何もしない]を設定します。
※[各要素について繰り返す]アクション内で演算子[+=]を使用する場合、[左辺]プロパティは設定しません。[右辺]プロパティで参照している繰り返しの値を左辺で積算処理するためです。演算子について詳しくは、「3.演算」を参照してください。

最後に[セルにペースト]アクションと[ファイルを保存する]アクション(①)を配置します。[セルにペースト]アクションで対象シートや入力値を設定します(②)。

こうすることで、複数指定したセルの数値を一つずつ積算して、特定のセルにペーストするというシナリオができます。

このシナリオを実行すると、Excelファイルに合算した売上金額が入力されます。

このように[各要素について繰り返す]アクションを使うと、同じ処理のアクションをいくつもシナリオに配置しなくて済むようになります。

ほかにも[指定回数分繰り返す]アクションを使用すると、回数を指定して繰り返し処理を実行するシナリオも作成できます。