GoogleSpreadSheetで条件分岐に必要な「比較演算子」と「論理演算子」を使い方を紹介

Tokyo Tower seen from Shiba Park

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

Google Apps Scriptで退屈な業務を自動化するために、これまで、繰り返し処理に使われる「for文」や条件式に使われる「if文」の基本的な書き方を解説してきた。

関連記事:GoogleSpreadSeetを書くときによく使われている条件式を紹介する。
関連記事:GoogleSpreadSeetを書くときによく使われている繰り返し処理を紹介する。

今回は、条件式を書く際に重要な「比較演算子」「論理演算子」の書き方を紹介をしていく。

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

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

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

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

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

実際に、どのように使う事ができるかを説明するために、記入されている数値によって出力を変える条件を設定する事にした。さらに、木曜日に数値が51以上の場合のように細かい条件も設定した。

以下のシートを見てください。

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

まずは、セルの中が51以上且つ、木曜日の時に「foo」が出力されるようになっている。それ木曜日以外で51以上の場合は「hoge」と出力されるようになっており、どれにも当てはまらない場合は「fuge」が出力されるようになっている。

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

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