if文とは?GAS初心者が実例で学んだ条件分岐の基本
Google Apps Script(GAS)初心者が「if文」でつまずいたリアルな体験をもとに、基本から応用、よく使う条件分岐の書き方、そして`return`や`continue`と組み合わせたテクニックを紹介します。
このブログは、Google Apps Script(GAS)を使った自作ツールの記録や、開発の過程での気づきをまとめたものです。
丁寧な解説というより、「こんなこともGASでできるんだ」というアイディアのきっかけになれば幸いです。
ifって何?
条件に応じて処理を分けるための文法で、GASにおける意思決定の基礎。
if (条件) {
// 実行する処理
}
- 「〇〇だったらこうする」という判断ルールをGASに書いてあげるのがif
- スプレッドシートで言うなら「このセルが空欄だったら処理しない」みたいなときに使えます
よく使うパターン①:空欄スキップ
if (cell.getValue() === "") {
return;
}
これは、空欄なら処理を中断する(return)という使い方です。
ループ処理の中で使うと、いらない行をスキップできて超便利です。
else / else ifの違い
elseは「それ以外」の全部
if (条件A) {
// Aがtrueのとき
} else {
// Aじゃないとき
}
else ifは「他にも条件があるとき」
if (score >= 80) {
Logger.log("合格!");
} else if (score >= 60) {
Logger.log("追試!");
} else {
Logger.log("不合格…");
}
else ifで追加の条件分岐、elseでそれ以外を処理します。
よく使うパターン②:複数条件(AND / OR)
if (value1 === "OK" && value2 > 100) {
// 条件をすべて満たすときの処理
}
AND(&&)とOR(||)を使って、複雑な条件を組み合わせることもできます。
- &&は 両方とも満たすとき(AND)
- ||は どっちか満たせばOK(OR)
「〇〇で、かつ△△のとき」は&&、「〇〇または△△のとき」は||
実際によく使った場面
- 空欄スキップ(if (cell === "") return;)
- ログ出力の条件(テストする時によく使う)
- 値の分類・グループ分け
- 重複チェック
- 処理の早期終了
テクニック:if + return / continue
早期リターン
if (!email) return;
値がない場合は早めに処理を終了できます。
continueでスキップ
for (let i = 0; i < rows.length; i++) {
if (rows[i][0] === "") continue;
// それ以外の処理
}
ループ内で条件に合わないときだけ飛ばすテクニックです。
まとめ
教科書にはいろんなif文の書き方が載ってますが、実際に使うのは「空欄スキップ」「分類」「条件一致」くらいがほとんどです。
複雑な条件も、分解して if を小分けにしたほうが結局わかりやすいです。
最初は書きすぎたり、複雑にし過ぎてエラーになったりしましたが、「読みやすさ」を優先したらうまくいくようになりました。
関連リンク
次に学べる内容や、関連する実例はこちらをご覧ください。