Google Apps Scriptのif文をマスターしよう|条件分岐でできることをやさしく解説

Google Apps Script(GAS)は、Googleのサービスを自動化するための便利なツールです。Gmail、スプレッドシート、カレンダーなどを自動で操作できるため、多くのビジネスシーンで活用されています。
この記事では、GASの中でも特に重要な「if文」に焦点を当て、基本構文から実用的な使い方までわかりやすく解説していきます。プログラミング初心者の方でも理解できるように、実例も交えながら紹介していきますので、ぜひ最後までお読みください。


基本のif文の構文

まずは、Google Apps Scriptにおけるif文の基本構文を紹介します。

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

たとえば、数値が10より大きいかどうかを判断する場合は以下のようになります。

let number = 15;

if (number > 10) {
Logger.log("10より大きい数です");
}

条件がtrueの場合にのみ、ブロック内の処理が実行されます。


if~else文で条件によって処理を分ける

次に、条件がtrueでない場合の処理も記述する「if~else文」です。

if (条件) {
// trueのときの処理
} else {
// falseのときの処理
}

実例を見てみましょう。

let score = 65;

if (score >= 70) {
Logger.log("合格です");
} else {
Logger.log("不合格です");
}

このように、条件を満たす場合と満たさない場合で、それぞれ異なる処理を行うことができます。


else ifで複数の条件を判断する

条件が2つ以上ある場合には「else if」を使うことで、さらに細かく分岐できます。

let temperature = 30;

if (temperature > 35) {
Logger.log("猛暑日です");
} else if (temperature > 25) {
Logger.log("夏日です");
} else {
Logger.log("快適な気温です");
}

上から順に条件を評価し、最初にtrueとなった条件の処理だけが実行されます。


if文で文字列を比較する

if文では、文字列の比較も可能です。スプレッドシートの値を取得して条件判定する際によく使います。

let userName = "山田";

if (userName === "山田") {
Logger.log("山田さん、こんにちは!");
} else {
Logger.log("あなたは山田さんではありません");
}

===は「値も型も一致しているかどうか」をチェックする比較演算子です。


if文を使ったGoogleスプレッドシートの自動処理

Google Apps Scriptはスプレッドシートと非常に相性が良く、if文と組み合わせることで条件に応じた処理が簡単に行えます。
以下の例では、1列目のセルの値が「完了」でなければ、「未完了」とログに出力します。

function checkTaskStatus() {
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("タスク一覧");
let values = sheet.getRange(2, 1, sheet.getLastRow() - 1, 1).getValues();

for (let i = 0; i < values.length; i++) {
if (values[i][0] !== "完了") {
Logger.log(`行${i + 2}は未完了です`);
}
}
}

このように、スプレッドシートの値に応じて処理を分岐させるのは、GASでよく行われる基本的な手法です。


ネストされたif文(入れ子のif)

複数の条件が関係している場合には、if文の中にさらにif文を書く「ネスト」が使われます。

let user = "田中";
let role = "管理者";

if (user === "田中") {
if (role === "管理者") {
Logger.log("田中さんは管理者です");
} else {
Logger.log("田中さんは一般ユーザーです");
}
}

ただし、ネストが深くなるとコードが読みづらくなるため、必要に応じてswitch文や関数に分けて管理するのもよいでしょう。


複数条件をif文で扱う(AND/OR)

複数の条件をまとめて評価したい場合は、&&(かつ)や ||(または)を使います。

let age = 25;
let hasLicense = true;

if (age >= 18 && hasLicense) {
Logger.log("運転可能です");
} else {
Logger.log("運転できません");
}

&&は両方の条件がtrueのときのみtrueになります。
||はどちらか一方でもtrueであればtrueになります。


if文の書き方を簡潔にする三項演算子

if文が一行で済むような場合には、三項演算子を使ってより簡潔に書くことができます。

let age = 20;
let result = (age >= 18) ? "成人" : "未成年";
Logger.log(result);

上記は、以下のif~else文と同じ意味になります。

javascriptコピーする編集するlet result;
if (age >= 18) {
  result = "成人";
} else {
  result = "未成年";
}

ただし、処理が複雑になる場合は、通常のif文の方が読みやすいため、使い分けが重要です。


よくあるミスと注意点

Google Apps Scriptでif文を使う際に初心者がよくやってしまうミスとして、以下があります。

  • =(代入)と==(比較)の混同
  • 日本語の全角スペースを使ってしまう
  • if文のブロックに波カッコ {} を付け忘れる
  • 比較演算子の方向を間違える(例:<>

これらのミスを防ぐためには、エディタの構文チェック機能を活用し、Logger.log()で値を確認しながら進めるのがおすすめです。


まとめ

Google Apps Scriptのif文は、条件に応じた処理を行うための基本かつ重要な構文です。
単純な条件判定から、スプレッドシートやメール処理などの実用的なスクリプトまで、幅広く応用が可能です。
「まずは小さく書いてみる」「結果をログで確認する」といった手順を踏みながら、少しずつスキルを身につけていきましょう。

タイトルとURLをコピーしました