GoogleAppsScriptの制御構文を理解する

Google Apps Script(GAS)でプログラミングを始めるとき、最初にマスターしたいのが**「制御構文」です。
これは、「こういうときにはこう動く」「条件に応じてこう処理する」といった
プログラムの流れ**を決めるルールのこと。

たとえば、

  • 条件に応じて処理を分けたい(if文switch文
  • 繰り返し処理をしたい(for文while文

といったときに使われます。

この記事では、すべての制御構文をテストできるサンプルコード付きで、動作のイメージまでわかるように解説していきます。


1. 条件分岐:if文

✅ どんなときに使う?

ある条件に応じて処理を変えたいとき。

🔍 具体例
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
let x = 5;

if (x > 10) {
  console.log('xは10より大きい');
} else if (x > 0) {
  console.log('xは0より大きく、10以下'); // このパターンで出力される
} else {
  console.log('xは0以下');
}
💡 解説

このように、if → else if → else の順に条件をチェックして、最初に合致したところだけ実行されます。

x5 なので、「0より大きく、10以下」に該当して、そこだけが出力されます。


2. 条件分岐:switch文

✅ どんなときに使う?

特定の値に応じて分岐したいとき(曜日、メニュー、番号など)。

🔍 具体例
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
let day = 3;

switch (day) {
  case 1:
    console.log('月曜日');
    break;
  case 2:
    console.log('火曜日');
    break;
  case 3:
    console.log('水曜日'); // ここが実行される
    break;
  default:
    console.log('その他の日');
}
💡 解説

switchdayの値に応じて一致するcaseを探します。

最後にbreak;がないと、次のケースまで処理が落ちていくので注意!


3. 繰り返し処理:for文(カウンター型)

✅ どんなときに使う?

「決まった回数だけ繰り返す」処理に最適。

🔍 具体例
  • 1
  • 2
  • 3
for (let i = 0; i < 5; i++) {
  console.log(i); // 0〜4まで出力
}
💡 解説

i = 0からスタートして、i < 5の間だけループ。毎回i++(1ずつ増える)します。

つまり「0から4まで5回繰り返す」処理になります。


4. for...in文(オブジェクトのプロパティを列挙)

✅ どんなときに使う?

オブジェクトの中身をすべて取り出したいとき。

🔍 具体例
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
let person = { name: 'John', age: 30, city: 'Tokyo' };

for (let prop in person) {
  console.log(prop + ': ' + person[prop]);
}
// 出力例:
// name: John
// age: 30
// city: Tokyo
💡 解説

for...inは、キー(プロパティ名)を1つずつ取り出して処理できます。


5. for...of文(配列の要素を列挙)

✅ どんなときに使う?

配列から値(要素)を1つずつ取り出して処理したいとき。

🔍 具体例
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
let fruits = ['Apple', 'Banana', 'Cherry'];

for (let fruit of fruits) {
  console.log(fruit);
}
// 出力:Apple, Banana, Cherry
💡 解説

配列専用の構文で、ofは「配列の中身そのもの」を取り出すのに使います。


6. while文(条件がtrueの間、繰り返す)

✅ どんなときに使う?

「いつ終わるかわからないけど、条件を満たしている間は繰り返したい」処理。

🔍 具体例
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
let i = 0;

while (i < 5) {
  console.log(i); // 0〜4まで出力
  i++;
}
💡 解説

i < 5trueの間、何度でも繰り返します。

ただし、i++を忘れると永遠にループするので注意!


7. do...while文(1回は必ず実行するループ)

✅ どんなときに使う?

「まず1回やってから、条件をチェックしたい」場面。

🔍 具体例
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
let j = 0;

do {
  console.log(j); // 0だけ出力
  j++;
} while (j < 0);
💡 解説

do...whileは、条件にかかわらず最初の1回は必ず実行されます。

上記では、条件がfalseですが、0は1回出力されます。


📘 総まとめ:全構文を確認できるテストコード

Google Apps Script でまとめて動作を確認したい場合は、次のコードを使ってみてください。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
function testControlStructures() {
  console.log('--- if文 ---');
  let x = 5;
  if (x > 10) {
    console.log('xは10より大きい');
  } else if (x > 0) {
    console.log('xは0より大きく、10以下');
  } else {
    console.log('xは0以下');
  }

  console.log('--- switch文 ---');
  let day = 3;
  switch (day) {
    case 1:
      console.log('月曜日');
      break;
    case 2:
      console.log('火曜日');
      break;
    case 3:
      console.log('水曜日');
      break;
    default:
      console.log('その他の日');
  }

  console.log('--- for文 ---');
  for (let i = 0; i < 5; i++) {
    console.log(i);
  }

  console.log('--- for...in文 ---');
  let person = { name: 'John', age: 30, city: 'Tokyo' };
  for (let prop in person) {
    console.log(prop + ': ' + person[prop]);
  }

  console.log('--- for...of文 ---');
  let fruits = ['Apple', 'Banana', 'Cherry'];
  for (let fruit of fruits) {
    console.log(fruit);
  }

  console.log('--- while文 ---');
  let i = 0;
  while (i < 5) {
    console.log(i);
    i++;
  }

  console.log('--- do...while文 ---');
  let j = 0;
  do {
    console.log(j);
    j++;
  } while (j < 0);
}

🪄 さいごに:覚える順番のおすすめ

初心者の方は、まず次の順に理解していくのがオススメです。

  1. if文(条件に応じた処理)
  2. for文(決まった回数の繰り返し)
  3. while文(条件によるループ)
  4. for...in / for...of(オブジェクトや配列の中身を取り出す)
  5. switch文(分岐が多いときに便利)
  6. do...while文(あまり使わないけど知っておくと◎)

✏️ 一歩進んだ学び方

プロンプトエンジニアからのひとこと:

制御構文の挙動を確認するときは、**エディタ上の「ログ」や「デバッグ出力」**を見ながら試すのが理解の近道。

例えば、Logger.log()console.log() を使って、処理の流れを「目で追える」ようにしましょう。

また、GASは Googleスプレッドシート と組み合わせると真価を発揮します。

例えば「A列の値が"完了"だったらB列に日付を書く」といったスクリプトを書く際に、今回のif文for文がとても役に立ちますよ。


GoogleAppsScriptをAIのチカラを使ってブーストさせるための情報が体系的にまとまっていました。GASのレベルをあげたい人は、下記のKindle書籍をチェックしてみてください。AI時代の効率的なプログラミング方法が学べます。Kindle Unlimitedに入っている人は無料で読めますよ。

https://www.amazon.co.jp/dp/B0FPFSVSJP


メンバーのSNSアカウントはこちら

◆かいと:IT担当
X(旧Twitter)
Instagram