レッスン4:条件に一致するキーワードを検索してスプレッドシートを完成させよう

レッスン3ではスプレッドシートに記載したキーワードを繰り返し検索した結果をスプレッドシートに入力する方法を紹介しました。
最後のレッスンでは、条件分岐処理のアクションを追加して、指定した条件に一致するキーワードの検索結果をスプレッドシートに入力するシナリオを作成してみましょう。

事前準備

レッスン3で「Coopelチュートリアル用スプレッドシート」に入力した検索結果を以下のように削除してください。

条件分岐処理用アクションについて

レッスン4では、[条件分岐処理1]アクションを使用します。

条件分岐処理1]アクションとは
 指定した条件に一致した場合に[条件分岐処理1]アクション内に配置した別のアクションを実行することができるアクションです。条件に一致しない場合は何も処理を行いません。プログラミングのif文と同様の動きになります。

そのほかにも条件分岐処理用のアクションはあります。アクションリストの「基本操作」⇒「制御処理」から選択できます。

[セルをコピー]アクションを再設定する

レッスン3では、スプレッドシートのすべてのキーワードを検索するため、[セルをコピー]アクションでA列のみをコピーしました。

レッスン4では、C列の「検索対象」を条件に使用するため、A列とC列をコピーするように再設定します。

※[セルをコピー]アクションで複数の列をコピーしたい場合は、B列を含むA列~C列を範囲として指定します。
レッスン3では「A2:A5」とコピーする範囲を指定しましたが、レッスン4では起点となるセル(ここでは「A2」)のみを指定してA列~C列までコピーする方法を説明します。

また、コピーした列を後続のアクションから参照しやすくするため、各列に名前(Coopelでは「ラベル」と呼びます)を設定します。

  1. ステップ
    1

    [セルをコピー]アクション(①)をクリックし、[コピー対象のセル]にある「:A5」を削除して、「A2」(②)に変更します。

  2. ステップ
    2

    [縦方向の取得条件]に[データの連続範囲を選択](①)を指定します。

    [横方向の取得条件]に[空行を跨いでデータの連続範囲を選択](②)を指定します。

    このように設定すると、コピー範囲の起点となる「A2」の値から、C列の値までコピーできるようになります。

    ワンポイント・レッスン character right 「A2:C5」のように指定しても結果は同じですが、このように起点のセルと[横方向の取得条件]/[縦方向の取得条件]でコピーする範囲を指定することで、たとえばキーワードが増えてもシナリオを毎回修正する必要はなくなります。

    次のステップからはコピーする各列に名前(ラベル)を設定していきます。

  3. ステップ
    3

    [戻り値にラベルを付ける](①)に「キーワード」と入力します。

    A列(A2:A5)に「キーワード」という名前が設定されます。

    [ラベルを追加](①)をクリックして入力項目を増やし、2番目にはB列(B2:B5)の名前として「検索結果」と入力し、3番目にはC列(C2:C5)の名前として「検索対象」と入力(②)します。

    これで、A列~C列に名前を付けることができました。
    ※ラベルはこのあとの設定でわかりやすくするための機能です。ここで入力したラベル名がスプレッドシートなどのデータに書き込まれることはありません。

[条件分岐1]アクションを配置/設定する

[条件分岐1]アクションをシナリオに配置して設定していきます。

[条件分岐1]アクションを配置する

  1. ステップ
    4

    アクションリストの検索ボックスに「条件分岐」と入力してアクションを検索します。

  2. ステップ
    5

    表示された[条件分岐1](①)をドラッグして[画面に情報を入力]アクションの上(②)に配置します。

[条件分岐1]アクションの中にアクションを移動する

[条件分岐1]アクションの中(①)に、[画面に情報を入力]~[セルをペースト]アクション(②)を移動します。

  1. ステップ
    6

    [画面に情報を入力]~[セルをペースト]アクションを[条件分岐1]アクションの中に1つずつドラッグして移動させます。

    アクションを移動したあとは以下のようになります。

    ワンポイント・レッスン character right このように、シナリオにアクションを配置するには、順々に配置/設定していく方法のほかに、配置/設定済みのアクションを移動する方法もあります。 そのほかアクションをコピーして配置したり、コメントを付けたりすることもできます。詳しくは、「アクションの使い方」を参照してください。

[条件分岐1]アクションを設定する

次に[条件分岐1]アクションに「スプレッドシートの「検索対象」列の値が「Yes」と等しい場合」という条件を設定します。

  1. ステップ
    7

    [条件分岐1]アクションを選択します。

  2. ステップ
    8

    [A]の参照アイコン(①)をクリックし、ハイライト表示された[各要素について繰り返す]アクション(②)、または参照アイコン(①)の下に表示された[各要素について繰り返す](③)をクリックします。

    [A]にtutorial lesson4 r2 21が設定されます。

  3. ステップ
    9

    [値を選択]でステップ3で設定した名前の[検索対象]を選びます。

    ワンポイント・レッスン character right この例のように[各要素について繰り返す]アクションを条件に設定する場合、[値を選択]でどの値を条件として使用するかを指定する必要があります。指定しなかった場合は、最初の値(ここではステップ3で[キーワード]と付けた列)が条件に設定されます。
  4. ステップ
    10

    [B]の入力欄(①)に「Yes」と入力し、[判定内容]をクリックして[と等しい場合(==)](②)を選びます。

    ※大文字・小文字は正しく入力してください。

    ワンポイント・レッスン character right もし[B]の条件に空白セルなどを設定したい場合は、[B]の入力欄は未入力にしてください。

    これで、条件分岐の設定ができました。次のステップからは、スプレッドシートのセル番号を指定する方法について学んでいきます。

検索結果を入力するセルを指定する

レッスン3の[セルをペースト]アクションでは、列の最後尾を自動で検知して検索結果を入力する設定にしていました。

この設定のままシナリオを実行すると、A5セルの「繰り返し」の検索結果の「33件」はB4セルに入力されてしまいます。

レッスン4では各キーワードの行に検索結果が入力されるようにしたいため、ペースト対象のセルの設定を変更します。

次のステップからは、[カウンター]というアクションを使って、[セルをペースト]アクションにセル番号(「B2」~「B5」まで)を指定する手順について説明していきます。

※[カウンター]アクションは、繰り返し処理の中に配置して繰り返し処理の回数分、加算(カウントアップ)したり減算(カウントダウン)した値を生成できるアクションです。

[カウンター]アクションを配置/設定する

まず[各要素について繰り返す]の下に[カウンター]アクションを配置/設定します。

  1. ステップ
    11

    アクションリストの検索ボックスに「カウンター」と入力してアクションを検索します。

  2. ステップ
    12

    表示された[カウンター]アクション(①)をドラッグして[各要素について繰り返す]アクションの直下(②)に配置します。

    ワンポイント・レッスン character right [各要素について繰り返す]に設定したキーワードの4行分、セル番号用の値を生成するためこの場所に配置しています。[条件分岐1]アクションの中に配置してしまうと、条件に一致しないキーワードは除外されるため、行数が不足してしまいます。
  3. ステップ
    13

    [初期値]に「1」を入力します。

    ※繰り返し処理ごとに値が1つずつカウントアップされ、2~5まで値が生成されます。

[セルをペースト]アクションを再設定する

最後に[カウンター]アクションで生成した値を、[セルをペースト]アクションの[ペースト対象のセル]に再設定します。

  1. ステップ
    14

    [セルをペースト]アクションを選択します。

  2. ステップ
    15

    [ペースト対象のセル]に入力されている「B2」の「2」の部分をマウスで範囲選択します(①)。選択後、サブメニュー(②)が表示されることを確認してください。

  3. ステップ
    16

    表示されたサブメニューの[参照]をクリックします。

  4. ステップ
    17

    ハイライト表示された[カウンター]アクションをクリックします。

    [ペースト対象のセル]に入力した「2」がtutorial lesson4 r2 39に変更されて、[カウンター]アクションで生成した値がセル番号として指定されるようになります。

    ワンポイント・レッスン character right 文字列の途中にアクションを配置することを部分参照といいます。部分参照について詳しくは「参照機能を使ったアクション間の連携(部分参照)」を参照してください。
  5. ステップ
    18

    繰り返し処理ごとにセル番号をカウントアップするように設定したため、レッスン3で設定した[列または行の最後に書き込む]を無効にします。

    [列の最後に書き込む](①)をクリックして、[なし](②)をクリックしてください。

シナリオを実行してスプレッドシートを確認する

シナリオを実行して、指定した条件に一致したキーワードの検索結果のみがスプレッドシートに入力されるどうかを確認してみましょう。

  1. ステップ
    19

    [実行]をクリックします。

  2. ステップ
    20

    シナリオの実行が完了したことを確認します。

  3. ステップ
    21

    条件に一致したキーワードの検索結果のみがスプレッドシートに入力されることを確認します。

学習のまとめ

icon-additional-lesson応用レッスン

スプレッドシートの条件を以下のようにしてもレッスン4と同じ結果になるように[条件分岐1]アクションの設定を変更してみましょう!