【GAS GoogleAppsScript | 初心者向け】よく使う条件式”if文”を紹介

こんにちは、書川(カキカワ)です。

これから紹介する繰り返し処理のfor文と、以下の記事で紹介している条件式を組み合わせると、自動化のシステムを作れるようになります。

これから紹介する条件式を書くためのif文の基本的な使い方を理解することで、自動化処理を作成する際に必要な条件分岐が分かるようになります。

実用例として、以下の記事に書かれているスプレッドシートから外部のチャットアプリのSlackにメッセージを自動で送信するなどの自動化のシステムを開発も可能になりますよ。

if文(条件分岐)の基本

プログラミングでは、ある条件式に対して、真の場合に行う処理偽の場合に行う処理のように、処理の分岐ができます。

if(条件式){
//True(真の場合)の時に処理する
}else{
//False(偽の場合)の時に処理する
}

数式を見るだけではイメージが沸かないから、実例で紹介してみます。

スプレッドシートのセルは51未満の数字と、51以上の数字をそれぞれが一つ以上含まれるようにA列2行目のセルからA列6行目のセルまでの5つのセルに数値を入力しましょう。

入力した値の大きさを条件にして出力される情報を変化させるための以下のコード使用する。

スプレッドシートのツールバーにあるスクリプトを選択して、以下のコードをコピー&ペーストします。

function myFunction() {
  
  //取得するスプレッドシートの情報を書き換える
  var ss = SpreadsheetApp.openById('シートのURL');
  var sheet = ss.getSheetByName('シート1');
  
  //セルの最後の列を取得
  var Lrow = ss.getLastRow();

  //数字の大きさの条件で分岐する
  for(var i = 2;i <= Lrow;i++){
    if(sheet.getRange(i, 1).getValue()>='51'){
      Logger.log("ぶひ");
    }else{
      Logger.log("ぶほ");
    }
  }
}

上記のコードのif文を解説します。

if(sheet.getRange(i, 1).getValue()>='51'){
Logger.log("ぶひ");
}else{
Logger.log("ぶほ");
}

条件式では、「取得した値が51以上の時」と設定しており、返り値がtrue(真の場合)では、「ぶひ」と出力され、false(偽の場合)では、「ぶほ」と出力されます。

if文に書かれている「else」は、条件式に当てはまらないfalse(偽の場合)の処理を書く時に使われます。

else」を書かなくても処理は実行できますが、このコードの場合、「ぶほ」は出力されません。

その他にも「else if(条件式2)」というものもあり、一つ目の条件式に当てはまらないfalse(偽の場合)の場合に新しい条件式を設けて、その処理を行うことが出来ます。

if(条件式1){
//True(真の場合1)の時に処理する
}else if(条件式2){
//True(真の場合2)の時に処理する
}else {
//False(偽の場合2)
}

スクリプトエディタにコピペしたコードをデバッグして、ログを表示してみましょう。

条件式は不等号だけでなく、互いの値が正しいときや、どちらかの条件を満たす時などのような様々な条件の設定が出来るから、テストしながら確認することをお勧めします。

僕は社内の上司からだけでなく、プログラミングの本から学んできましたが、目の前の課題に対して手を動かす方が圧倒的に成長を感じられました。

現在の職場がそのような環境ではない場合、実際に現場で言語を活用している講師が動画で分かりやすく発信しているUdemyをお勧めしたいです。
Udemyの講座をみてみる →

プログラミングは数学と同じように、理解せずに暗記すると応用が効かなくなります。

学生の時に長岡亮介さんの「本質の研究(現在では「総合的研究」となっています。)」で数学を学んで、初めて数学を理解出来てから数学が好きになった思い出があります。

スキルは現場で活用しながら研磨した方が、上達する時間効率も良さそうですよね。

そんな感じです。


Asset
20 Posts
Bygone
28 Posts
Coding
14 Posts