【GAS入門】if文の使い方と複数条件の実装テクニック

GASを使い始めたんですが、if文複数条件を使いたいんですが、うまくいかなくて…
猫男
猫男
catman
catman
それなら、catmanの出番さ。GASでのif文の使い方と複数条件について詳しく解説しよう。

GASにおける基本的なif文の書き方

GASで条件分岐をするならif文だ。

以下の構文が基本形さ。

if (条件) {
 // 条件が真のときに実行される処理
}

 

()の中の条件の真偽を判定して処理をわけられるんだ。

条件が「真」なら{} 内の処理を実行。そうでない「偽」の場合は何もしないぞ。

たとえば、以下のスクリプトを見てくれ。


let fruit = "りんご";

if (fruit === "りんご") {
  Logger.log("これはりんごです");
}

gas if文 条件分岐

この場合、

fruit === “りんご”

が条件だ。fruit が “りんご” という文字列と同じなら、Logger.log(…) の中身が実行される。

で、今回はfruit が “りんご” という文字列だから、条件は真。よって、

これはりんごです

とログが表示されるはずだ。

 

条件の書き方がわからない!

ってなったら「GASの比較演算子」を復習しよう。

 

GASのif文で複数条件を扱う方法

次はお待ちかねの複数条件のif文だ。

ひとつの条件だけで足りないときは、複数条件を使えるのさ。

たとえば、

  • &&(AND)を使って全ての条件が真なら実行。
  • ||(OR)を使ってどれかひとつでも真なら実行。

という条件の記述方法がある。

以下のスクリプトは1つめの「&&(AND)」を用いた方法だ。

if (条件1 && 条件2) {
 // 両方の条件が真のときに実行される処理
}

 

具体例を見てみよう。


let fruit = "パイナップル";
let weight = 1.2; // kg

if (fruit === "パイナップル" && weight >= 1) {
  Logger.log("大きなパイナップルです!");
}

gas if文 条件分岐

  • fruit === "パイナップル"
  • weight >= 1

という複数条件を同時に満たした場合、{} 内の処理が実行される。

今回はその2つを満たしているから、Logger.log("大きなパイナップルです!");が実行されて、

大きなパイナップルです!

とログが表示されるはずさ。

なるほど!条件を組み合わせるにはANDとかORを使うんですね。では、条件が通らない場合には何もしない場合は?
猫男
猫男
catman
catman
特に何もしないなら、あえてelseを使わず、if文だけで書くとすっきりするぞ。

GAでよく出てくるif文の具体例

それじゃあ、GASでよく出てくる実践的なif文の具体例を紹介するぞ。

空白やnullをチェックする:

データが空白か、nullか判定したいとき。

if (value === null || value === '') {
 Logger.log("値が空かnullだ。");
}

特定の文字列が含まれているか:

文字列をチェックしたいときに使える。

if (text.includes("チェック")) {
 Logger.log("チェックが含まれている。");
}

条件の否定:

もし条件を満たさない場合を判定したいとき。

if (!条件) {
 Logger.log("条件を満たしていない。");
}
状況に応じて色んな条件が設定できるんですね。でも、時々スクリプトが止まっちゃうようなことがあるんです…
猫男
猫男
catman
catman
それは多分break文が関係している。ループの中で使うもので、条件によってループを抜けることができるんだが、使う場所には気をつけよう。

 

練習問題:GASでif文の基本的な活用方法を身につけよう

次のGASスクリプトを、変数statusが”succeeded”の場合にログを出力するように修正しよう。

function checkStatus() {
 let status = "succeeded";
 // ここに条件を追加
 Logger.log("処理が成功しました。");
}

 

 

練習問題の解答と解説

function checkStatus() {
 let status = "succeeded";
 if (status === "succeeded") {
   Logger.log("処理が成功しました。");
 }
}
  • letは変数を宣言するためのキーワード。
  • if (status === “succeeded”)の部分で、変数statusが想定した文字列と一致するかの条件分岐を行っています。この条件が真であれば、次の行のLogger.log()が実行されます。
ちゃんと動いた!いろんな条件を設定する方法がつかめた気がします!
猫男
猫男
catman
catman
良かったな。これでGASのif文による条件分岐もバッチリだ。またいつでも聞いてくれ。