【GAS入門】関数の基本と使い方|引数・戻り値・複数値の返し方をマスターしよう

GASで関数ってどうやって作るんだろ?引数とか戻り値とか、いまいちピンとこなくて…
猫男
猫男
catman
catman
よし、catmanが「GASの関数」についてわかりやすく教えてやろう!

GASで関数を作る基本

GAS(Google Apps Script)では、JavaScriptと同じように関数(function)を作成します。

基本形はこんな感じ!

 function greet() {
 Logger.log("こんにちは!");
 } 

function 関数名() {} の{}の中身に、処理のかたまりを入れます。

このスクリプトはLogger.logで「こんにちは!」というログを出力していますね。

 

GAS関数に引数を渡す方法

関数にデータを渡したいときは、引数(パラメータ)を使います。

 function greet(name) {
 Logger.log("こんにちは、" + name + "さん!");
 } 

呼び出し方はこう:

 greet("catman"); 
おぉ、引数を渡すだけでいろんな名前で呼べるんだ!
猫男
猫男

GAS関数の戻り値(return)を使う

関数の結果を返したいときは、戻り値(return)を使います。

 function add(a, b) {
 return a + b;
 }
 const sum = add(3, 5);
 Logger.log(sum); // 8 

✅ return を使えば、関数の外に値を返せます。

GASで戻り値を複数返したいときは?

GASでは、配列オブジェクトを使えば、複数の値を返せます。

配列の場合

まずは配列のパターンから。

 // 配列で複数返す
 function calcValues(x) {
 return [x * 2, x * 3];
 }

 const [double, triple] = calcValues(4);
 Logger.log(double); // 8
 Logger.log(triple); // 12 
  • 関数定義: calcValues(x) は、引数 x の2倍と3倍を配列として返します。
  • 分割代入: const [double, triple] = calcValues(4); により、
    • double に 8
    • triple に 12

    が代入されます。

  • ログ出力: Logger.log(double);8Logger.log(triple);12 が表示されます。

 

表でまとめると以下のようになります ↓

技術 内容
関数の戻り値 配列 [x * 2, x * 3] を返す
分割代入 配列の各値を double, triple に直接代入
応用例 関数から複数の値を返したいときに便利

 

「GASの分割代入を忘れてしまった・・・・」

という方はGASの分割代入の記事で復習してみてください。

 

オブジェクトの場合

またはオブジェクトで返すパターンもあります。

 // オブジェクトで複数返す
 function calcObject(x) {
 return {double: x * 2, triple: x * 3 };
 }

 const result = calcObject(5);
 Logger.log(result.double); // 10
 Logger.log(result.triple); // 15 
  • 関数定義: calcObject(x) は、x の2倍と3倍を オブジェクト のプロパティとして返します。
  • 戻り値: 戻り値は { double: x * 2, triple: x * 3 } の形になっています。
  • 受け取り: const result = calcObject(5); により、result は次のようなオブジェクトになります:
    { double: 10, triple: 15 }
  • ログ出力:ドット記法でオブジェクトから値を取得しています。
    • Logger.log(result.double);10
    • Logger.log(result.triple);15

 

表でまとめると以下のようになります ↓

技術 内容
関数の戻り値 { double: x * 2, triple: x * 3 } のように オブジェクトで返す
アクセス方法 result.doubleresult.triple のように ドット記法で取得
応用例 値にラベルをつけて返したい場合に便利(意味が明確になる)

「GASのドット記法・・・・?」

という方はGASのドット記法の記事で復習してみてください。

 

GAS関数を呼び出す・関数に変数を入れる

変数に代入して関数を呼び出すのももちろんOK!

 const name = "catman";
 greet(name); 

✅ 変数を引数に入れて関数に渡せるので、より柔軟なコードが書けます!

GASでよく使う関数一覧

関数名 用途
Logger.log() ログを出力する
SpreadsheetApp.getActiveSpreadsheet() スプレッドシートを取得する
GmailApp.sendEmail() メールを送信する
CalendarApp.createEvent() カレンダーに予定を追加する
UrlFetchApp.fetch() 外部APIを叩く
おお〜 GASにも便利な関数がいっぱいあるんだね!
猫男
猫男

まとめ:GASで関数を自由に使いこなそう

  • function 関数名() {} で関数を作成
  • 引数でデータを渡し、戻り値で結果を返す
  • 配列やオブジェクトで複数の戻り値もOK
  • GASには独自の便利な組み込み関数もたくさんある
これでGASの関数もガンガン作れる気がしてきたー!
猫男
猫男
catman
catman
その調子だ!関数を使いこなせれば、スクリプトがもっとカッコよくなるぞ!