【GAS GoogleAppsScript | 初心者向け】よく使う条件分岐の”比較演算子”と”論理演算子”を紹介

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

GoogleAppsScriptで条件式を書くときに重要な「比較演算子」「論理演算子」の書き方を紹介をしていきます。

条件式を理解すると以下の記事でも紹介している外部のアプリと連携した業務の自動化もできます。

GASで使われる「論理演算子と比較演算子」ってどんなものがある?

論理演算子は、英文や数学でも使われる「or:または」と「and:且つ」と「not:否定」という論理を、条件文の中で比較演算子と一緒に使うことで様々な条件を設定することが出来ます。

論理演算子
比較演算子

余談ですが、GASでは記号で「and」、「or」、「not」を書きますが、Pythonでは英語のままで使う論理演算子もあるので、これが全てのプログラミング言語共通ではないのを留意してください。

論理演算子は基本的に、左から右に向かって値を評価します。

「&&」のように左辺で論理が確定した場合は、右辺の計算を行わないことを「ショートサーキット評価」と呼び、処理速度が改善されます。

比較演算子と論理演算子の使用例

実際に、どのように使う事ができるかを説明するために、記入されている数値によって出力を変える条件を設定する事にしました。

さらに、木曜日に数値が51以上の場合のように論理演算子を活用するため細かい条件も設定しました。

以下のスプレッドシートを使います。

コード内のif文を見てください。

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

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

まずは、セルの中が51以上且つ、木曜日の時に「ちゅんちゅん」が出力するようにしました。

そして木曜日以外で51以上の場合は「ぶほ」と出力して、どれにも当てはまらない場合は「ぶひ」が出力するようにしました。

両辺を「&&」でつなぐ場合は、両方が真の場合にしかtrueを返すことは有りません。
なので、51以上の数字があるけれど木曜日以外の場合には、その次の条件式の処理が実行されています。

比較演算子と、論理演算子の使い方は実際に自分でコードを書いて試した方が身につくと思います。簡単に理解したらとにかくコードを書いてみることをお勧めします。

僕が初めてプログラミングを学ぼうとしたときは、無料のGoogleサービスで色々と触って学んでいました。

Google Apps Scriptで退屈な業務を自動化するために、繰り返し処理に使われる「for文」や条件式に使われる「if文」を紹介しております。

そんな感じです。


Asset
13 Posts
Bygone
28 Posts
Coding
14 Posts