条件によって操作を分岐させる

条件分岐のアクションを利用すると、指定した条件にあわせてアクションの実行を切り替えることができます。条件を満たした場合のみ実行する条件分岐アクションと、条件を満たした場合と満たさない場合それぞれのアクションを設定する条件分岐アクションがあります。

条件分岐のアクションは、2種類あります

たとえば、スプレッドシートにデータのリストを作成し、更新要否に「要」と記載した行をWebページからの最新の情報に更新したい場合や、Webページの更新履歴日を取得して前回更新日と比較し、更新されている場合に最新の更新内容を取得する場合などに便利です。

04-12 processing-if 00_@@要差替@@

条件分岐のアクションには、以下の2種類があります。
条件分岐1
「○○の場合に××のアクションを実行する」のように、条件に当てはまる場合の操作を設定します。
条件分岐2
「○○の場合に××のアクションを実行し、条件に当てはまらない場合は△△する」のように、条件に当てはまる場合、条件に当てはまらない場合の両方の操作を設定できます。

どうやって条件を設定するの?

Coopelでは、2つの値と、その値をどのように比較するかを設定することで、アクション実行の条件を設定します。
条件分岐の設定は、シナリオ作成画面のアクションプロパティで行います。条件分岐のアクションの[A]と[B]で値を入力/参照して、[判定内容]で比較方法の式を選択します。
04-12 processing-if 01
たとえば、以下の例①、例②の表データで更新対象のセルの値を読み取り、次のアクションでセルの値を更新する場合は、どのような条件を設定すればいいでしょうか。
04-12 processing-if table01
例①の場合、更新が必要な企業には、C列に「要」と記載されています。そこで、判定対象の1つ目(A)で更新要否のセルを指定し、判定対象の2つ目(B)に「要」と入力して判定させましょう。
例②の場合、D列に前年同月比が記載され、前年同月に比べてマイナスの支店には「-」が表示されています。マイナス成長の支店のみを対象とするには、判定対象の1つ目(A)で前年同月比のセルを指定し、判定対象の2つ目(B)に「-」と入力して判定させましょう。
04-12 processing-if 02
上記のように設定すると、例①、例②の表データでは、以下の赤枠の部分が条件に当てはまります。
04-12 processing-if table02

Tips をクリックすると、タイプのアクションで取得したデータを利用することもできます。取得したデータの利用について詳しくは、「前のアクションで取得したデータを利用(参照)する」を参照してください。

比較方法は、以下のとおりです。

比較方法(演算子) アクションの実行条件
と等しい場合(==) AとBの値や文字列が等しいときに、アクションが実行されます。
と等しくない場合(!=) AとBの値や文字列が等しくないときに、アクションが実行されます。
以下の場合(<=) Aの値がBの値以下のときに、アクションが実行されます。AとBには、半角数字のみ設定できます。
以上の場合(>=) Aの値がBの値以上のときに、アクションが実行されます。AとBには、半角数字のみ設定できます。
未満の場合(<) Aの値がBの値未満のときに、アクションが実行されます。AとBには、半角数字のみ設定できます。
超の場合(>) Aの値がBの値を超えるときに、アクションが実行されます。AとBには、半角数字のみ設定できます。
を含む場合(~=) Aの文字列の中にBの文字列が含まれるときに、アクションが実行されます。
を含まない場合(!~) Aの文字列の中にBの文字列が含まれないときに、アクションが実行されます。

条件分岐1

[条件分岐1]のアクションを使うと、指定した条件に当てはまる場合だけ後続のアクションを行うようなシナリオが作成できます。
ここでは、スプレッドシート上の株価一覧表で、「更新要否」が「要」の会社の株価だけを更新するシナリオを作成してみましょう。
表の各行を順番に更新するシナリオなので、[各要素について繰り返す]アクションも一緒に使います。

準備
スプレッドシートで、以下のような表を作成してください。
04-12 processing-if 03

  1. 各要素について繰り返すの手順1~4と同様にアクションを設定します。
    ここでは、株価の一覧表の場所を指定して、「No」と「会社」を取得する操作を設定しています。
    04-12 processing-if 04
  2. [リストから要素を取得]を追加して、「更新要否」を取得する操作を設定します。
    04-12 processing-if 05
  • [入力データ]
    [各要素について繰り返す]を指定します。
  • [取得する行または列番号を指定]
    取得する要素の番号を入力します。ここでは、「3」を入力します。
  1. [条件分岐1]を追加して、アクションBOX内に、以下の画面のようにアクションを配置します。
    04-12 processing-if 06
  2. [条件分岐1]を選択し、アクション実行の条件を設定します。
    ここでは、「更新要否」の列に「要」と記入されている場合に、アクションを実行するように設定します。

 1. [A]で、「更新要否」を取得した[リストから要素を取得]を参照します。
 04-12 processing-if 07
 2. [B]に「要」と入力します。
 3. [判定内容]で[と等しい場合]を選択します。

  1. 手順4の条件に合致した場合に実行するアクションを設定します。
    ここでは、「各要素について繰り返す」の手順5~6と同様に、株価情報サイトから株価を取得し、セルに書き込むアクションを設定します。
    04-12 processing-if 08
    シナリオを実行すると、「更新要否」が「要」の行の株価が更新されます。
    04-12 processing-if 09

条件分岐2

[条件分岐2]のアクションを使うと、指定した条件に当てはまる場合、あてはまらない場合の両方のアクションを設定して、シナリオが作成できます。
ここでは、スプレッドシート上の株価一覧表で、「更新要否」が「要」の会社の株価を更新し、「要」でない場合は「-」を入力するシナリオを作成してみましょう。

準備
スプレッドシートで、以下のような表を作成してください。
04-12 processing-if 10

  1. 各要素について繰り返す」の手順1~4と同様にアクションを設定します。
    ここでは、株価の一覧表の場所を指定して、「No」と「会社」を取得する操作を設定しています。
    04-12 processing-if 11
  2. [リストから要素を取得]を追加して、「更新要否」を取得する操作を設定します。
    04-12 processing-if 12
  • [入力データ]
    [各要素について繰り返す]を指定します。
  • [取得する行または列番号を指定]
    取得する要素の番号を入力します。ここでは、「3」を入力します。
  1. [条件分岐2]を追加して、アクションBOX内に、以下の画面のようにアクションを配置します。
    04-12 processing-if 13

  2. [条件分岐2]を選択し、アクション実行の条件を設定します。
    ここでは、「更新要否」の列に「要」と記入されている場合に、アクションを実行するように設定します。
     1. [A]で、「更新要否」を取得した[リストから要素を取得]を参照します。
    04-12 processing-if 14
     2. [B]に「要」と入力します。
     3. [判定内容]で[と等しい場合]を選択します。

  3. 手順4の条件に合致した場合に実行するアクションを設定します。
    ここでは、「各要素について繰り返す」の手順5~6と同様に、株価情報サイトから株価を取得し、セルに書き込むアクションを設定します。
    04-12 processing-if 15

  4. [でなければ]の配下に、以下の画面のようにアクションを配置します。
    04-12 processing-if 16

  5. 手順4で設定した条件に合致しない場合の操作を設定します。
    ここでは、[計算をする]と[セルをペースト]で、それぞれ以下のように設定します。
    [計算をする]で、入力するセルを「No」に合わせてひとつずつ移動するように設定しています。
    04-12 processing-if 17
    04-12 processing-if 18
    これで、シナリオは完成です。
    シナリオを実行すると、「更新要否」が「要」の行の株価が更新され、「否」には「-」が入力されます。
    04-12 processing-if 19