GASのIFで複数条件、elseまたはを使ったサンプルコードや、
IFの中にIF、入れ子などの解説とダウンロードして使えるサンプルデータの公開などをしています。
GASのif文複数条件「または」と「かつ」
GASのif文の複数条件で「aまたはb」、「aかつb」のようなandやorを使用する
「or」は「||」(または)
「and」は 「&&」(かつ)
//A===B または A===C
if (A === B || A === C) {
//処理;
//A===B かつ A===C
} else if (A === B && A === C) {
//処理;
}
サンプルコード詳細
//A===B またはA===CのIF文処理
if (A === B || A === C)
//処理1;
}//A===B かつA===C のIF文処理
if (A === B && A === C)
//処理2;
}
GASでifの中にifを使って入れ子にする
GASのifで、ifの中にifというような、入れ子にするには、elseを使用します。
//A===B または A===C
if (A === B || A === C) {
//処理1;
//条件に当てはまらなかったらA===B かつ A===C
} else if (A === B && A === C) {
//処理2;
}
elseに続いて、if文を使用することで、入れ子になってifの中にifというGASコードを使うことができます。
elseは最初のif文の条件に当てはまらなかった場合に処理が行われます。
if (条件1)
処理1;
} else if (条件2)
処理2;
}
GASのifで空欄なら〜の処理をする
GASのifで空欄かどうかを調べるには、isBlank()を使用します。
if(range.isBlank()){
//空欄ならログ出力
Logger.log('空欄です');
}
サンプルコードのisBlank()は、範囲に対して空欄かどうかの判定をします。
if(範囲.isBlank()){
//空欄だった時の処理
}
ifで空白を調べたい時の注意
isBlank()は、空欄かどうかを判定するメソッドのため、
半角や全角のスペースが入っていると空欄ではないという処理がされます。
スペースが入っていてもスプレッドシートの見た目上にはわからないため、
意図しない処理が行われたりしてしまいます。
空欄と空白、両方判定する方法は詳しくはこちらの記事でサンプルコードを公開しています。
空欄と全角・半角の空白を判定する(ダウンロードあり)
GASのif else で何もしない方法
GASのif、else文で何もしないには、「;」(セミコロン)を使用します。
//A===B または A===C
if (A === B || A === C) {
//処理1;
//A===B かつ A===C
} else if (A === B && A === C) {
//処理2;
//条件に当てはまらない時
} else {
;
}
サンプルコードは、
条件1、条件2に当てはまらない時は何もしないという処理を行なっています。
if (条件1)
処理1;
} else if (条件2)
処理2;
} else
; // 何もしない
}
GASの演算子一覧
比較演算子 | 意味 |
---|---|
'a' == 'b' | aとbは等しい(データ型は含まない) |
'a' === 'b' | aとbは等しい(厳密、データ型も含む) |
'a' != 'b' | aとbは等しくない(データ型は含まない) |
'a' !== 'b' | aとbは等しくない(厳密、データ型も含む) |
'a' < 'b' | bよりaは小さい |
'a' > 'b' | bよりaは大きい |
'a' <= 'b' | aはb以下 |
'a' >= 'b' | aはb以上 |
GASの比較演算子には、「==」と「===」、「!=」と「!==」という書き方があります。
この違いは、文字列を比較する場合にデータ型まで含んで比較するかどうかの違いです。
例えば変数「a」に「1」が入っている場合、
数値型であれば、「==」、「===」どちらの比較演算子を使ってもtrueになりますが、
データ型だった場合は「===」ではfalseとなります。
そのため、意図しない動きを回避するために、
より厳密な「===」や「!==」を使用するのがおすすめです。
よくわからなくても、「===」や「!==」を使っていればOKです。
GASのif文複数条件サンプルデータダウンロード
サンプルデータのダウンロードはこちら
【Copori】スプレッドシートのセルの値を条件分岐サンプル
使い方はこちらで解説しています。
GASのif文複数条件を実際に動かす方法
今回の記事はGASのif文複数条件でまたは、入れ子などの解説をしましたが、
入れ子を複数使っていく場合、switch文を使った方がわかりやすく、ミスも少なくなります。
switch文についての詳しい記事はこちら
switchのcaseで複数処理 DLサンプルコードあり
このサイトでは、サンプルコードやサンプルデータを配布して、
スプレッドシートからGASコードを見て使えるようになる記事を作成しています。
記事毎にサンプルデータを置いていますので、
実際に動かしながら参考にしていただければ幸いです。
ありがとうございました!
コメント