GASのif文の使い方と複数条件の実装テクニック
GASを使い始めたんですが、if文で複数条件を使いたいんですが、うまくいかなくて…

猫男

catman
それなら、catmanの出番だな。GASでのif文の使い方と複数条件について詳しく教えよう。これを覚えれば、条件分岐が自由自在さ。
GASで基本的なif文の書き方
GASで条件分岐を扱う際の基本となるのがif文だ。まずは基本の形を知っておこう。
if (条件) {
// 条件が真のときに実行される処理
}
✅ 条件を判定して処理を分けることができる。ただし、条件が「真」でない場合は何もしないぞ。
GASでif文にて複数条件を扱うテクニック
次はお待ちかねの複数条件のifだ。
1つの条件では足りない:
もしひとつの条件だけで足りないときは、複数条件を使える。
if (条件1 && 条件2) {
// 両方の条件が真のときに実行される処理
}
ガイドラインとして:
- &&(AND)を使って全ての条件が真なら実行。
- ||(OR)を使ってどれかひとつでも真なら実行。
なるほど!条件を組み合わせるにはANDとかORを使うんですね。では、条件が通らない場合には何もしない場合は?

猫男

catman
特に何もしないなら、あえてelseを使わず、if文だけで書くとすっきりするぞ。
GAでよく出てくるif文の具体例
それじゃあ、実践的なif文の具体例紹介するぞ。
空白やnullをチェックする:
データが空白か、nullか判定したいとき。
if (value === null || value === '') {
Logger.log("値が空かnullだ。");
}
特定の文字列が含まれているか:
文字列をチェックしたいときに使える。
if (text.includes("チェック")) {
Logger.log("チェックが含まれている。");
}
条件の否定:
もし条件を満たさない場合を判定したいとき。
if (!条件) {
Logger.log("条件を満たしていない。");
}
状況に応じて色んな条件が設定できるんですね。でも、時々スクリプトが止まっちゃうようなことがあるんです…

猫男

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
良かったな。これでGASでの条件分岐もバッチリだ。またいつでも聞いてくれ。