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