128
150

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【図解】GAS基礎38選

Last updated at Posted at 2025-08-01

最近GASを書く機会があって中々便利だなと思ったので、以前書いた記事を文字ってGASの基礎文法をまとめてみました。

押さえたい基礎

9つの分野に分けて紹介します。

図解 - 2025-08-02T074524.272.png

変数・定数宣言

3種類あります。

図解 - 2025-07-26T073720.785.png

In
function sampleLet() {
  let num = 4;
  console.log(num);
}
Out
4
In
function sampleConst() {
  const USER_ID = "hoge";
  console.log(USER_ID);
  USER_ID = "fuga";
}
Out
hoge
TypeError: Assignment to constant variable.

varletではスコープが違うようです。(for文については後述)

In
function sampleVarFor() {
  for (var i = 0; i < 3; i++) {
    console.log(i);
  }
  console.log(i);
}
Out
0
1
2
3
In
function sampleLetFor() {
  // ブロックスコープ
  for (let i = 0; i < 3; i++) {
    console.log(i);
  }
  console.log(i);
}
Out
0
1
2
ReferenceError: i is not defined

算術演算子

演算子を確認します。

図解 - 2025-07-26T070356.096.png

In
function sampleCalc() {
  console.log(1 + 3);
  console.log(3 - 1);
  console.log(2 * 3);
  console.log(9 / 3);
  console.log(9 % 2);
  console.log(3 ** 3);
}
Out
4
2
6
3
1
27

コレクション

複数の値を持つことができるデータ構造について学びます。

図解 - 2025-08-01T055027.863.png

In
function sampleArray() {
  let array = [1, 2, 3];
  console.log(array[0]);
}
Out
1
In
function sampleObject() {
  let object = {
    hoge: 1,
    fuga: 2
  };
  console.log(object.fuga); // ドット記法
  console.log(object["fuga"]); // ブラケット記法
}
Out
2
2

条件分岐

GASにおける条件分岐は、if、else if、elseになります。

図解 - 2025-07-27T063352.526.png

In
function sampleIf() {
  let num = 1;

  if (num === 1) {
    console.log(num);
  }
}
Out
1

GASは比較をするとき、適した型に変換しようとするそうです。そのため、型もあっているかまで確認したいときは===を使用します。

In
function sampleCheck() {
  console.log("1" == 1);
  console.log("1" === 1);
}
Out
true
false
In
function sampleIfElseif() {
  let num = 0;

  if (num > 0) {
    console.log("0より大きい");
  } else if (num === 0) {
    console.log("0です");
  }
}

Out
0です
In
function sampleIfElseifElse() {
  let num = -1;

  if (num > 0) {
    console.log("0より大きい");
  } else if (num === 0) {
    console.log("0です");
  } else {
    console.log("0より小さい");
  }
}
Out
0より小さい

ループ処理

ループ処理の基本を押さえます。

図解 - 2025-07-31T062013.022.png

In
function sampleFor() {
  for (let i = 0; i < 5; i++) {
    console.log(i);
  }
}
Out
0
1
2
3
4

インクリメント(1を加算する)とデクリメント(1を減算する)

In
function sampleIncrementDecrement() {
  let x = 0;
  let y = 0;
  x++
  y--
  console.log(x);
  console.log(y);
}
Out
1
-1
In
function sampleWhile() {
  let num = 0;
  
  while (num < 5) {
    console.log(num);
    num++;
  }
}
Out
0
1
2
3
4
In
function sampleForIn1() {
  let nums = [10, 20, 30];
  for (let num in nums) {
    console.log(num);
  }
}
Out
0
1
2
In
function sampleForIn2() {
  let object = {
    hoge: 1,
    fuga: 2
  };
  for (let k in object) {
    console.log(k);
  }
}
Out
hoge
fuga
In
function sampleForOf() {
  let nums = [10, 20, 30];
  for (let num of nums) {
    console.log(num);
  }
}
Out
10
20
30
In
function sampleBreak() {
  for (let i = 0; i < 5; i++) {
    if (i == 3) {
      break;
    }
    console.log(i);
  }
}
Out
0
1
2
In
function sampleContinue() {
  for (let i = 0; i < 5; i++) {
    if (i == 3) {
      continue;
    }
    console.log(i);
  }
}
Out
0
1
2
4

論理演算子

論理演算子は3種類あります。

図解 - 2025-07-29T054721.027.png

In
function sampleAnd() {
  if (0 && 1) {
    console.log("");
  } else {
    console.log("");
  }
}
Out
In
function sampleOr() {
  if (0 || 1) {
    console.log("");
  } else {
    console.log("");
  }
}
Out
In
function sampleNot() {
  if (!(0 || 1)) {
    console.log("");
  } else {
    console.log("");
  }
}
Out

関数

関数は必要な時に何度でも呼び出すことができるので、同じコードを何回も書かなくて済みます。

図解 - 2025-08-01T055104.423.png

In
function calcFunc(a, b) {
  return a + b;
}

function mainFunc() {
  v = calcFunc(5, 9);
  console.log(v);
}
Out
14

例外処理

例外処理の基本を学んでエラーに慣れましょう。

図解 - 2025-08-01T062607.144.png

In
function sampleTryCatch() {
  try {
    const USER_ID = "hoge";
    USER_ID = "fuga";
  } catch (e) {
    // 例外オブジェクト
    console.log(e);
  }
}
Out
[TypeError: Assignment to constant variable.]
In
function sampleTryCatchFinally() {
  try {
    const USER_ID = "hoge";
    // USER_ID = "fuga";
  } catch (e) {
    // 例外オブジェクト
    console.log(e);
  } finally {
    console.log("例外が発生する・しないに関わらず実行される");
  }
}
Out
例外が発生する・しないに関わらず実行される

メソッド

メソッドをいくつか紹介します。
メソッドとは、オブジェクトに対する命令です。

図解 - 2025-08-02T081319.135.png

In
function sampleReplace() {
  let s = "田中様";
  console.log(s.replace("", "さん"));
}
Out
田中さん
In
function sampleSlice() {
  let s = "Google Apps Script";
  console.log(s.slice(0, 6));
}
Out
Google
In
function sampleSplit() {
  let s = "Google,Apps,Script";
  console.log(s.split(","));
}
Out
[ 'Google', 'Apps', 'Script' ]
In
function sampleConcat() {
  let nums = [10, 20, 30];
  new_nums = nums.concat([40, 50, 60]);
  console.log(new_nums);
}
Out
[ 10, 20, 30, 40, 50, 60 ]
In
function samplePush() {
  let nums = [10, 20, 30];
  nums.push(40);
  console.log(nums);
}
Out
[ 10, 20, 30, 40 ]
In
function sampleForEach() {
  const nums = [10, 20, 30, 40, 50];
  nums.forEach(function(num, i){
    console.log(i, num);
  });
}
Out
0 10
1 20
2 30
3 40
4 50

おわりに

最後までお読みいただきありがとうございました!
少しでも参考になれば幸いです。

128
150
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
128
150

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?