Googleスプレッドシートを使っていて、「毎日決まった時間に集計をしたい」「フォームの回答があったら自動でメールを送りたい」と思ったことはありませんか?そんなときに便利なのが、Google Apps Script(GAS)の「トリガー機能」です。今回は、初心者の方でもわかりやすいように、GASでスプレッドシートを自動実行する方法を、実際の例を交えてご紹介します。
トリガーって何?
まず、「トリガー」という言葉を聞いたことがない方もいらっしゃるかもしれません。簡単に言うと、トリガーは「何かのきっかけで自動的に動く仕組み」のことです。例えば、スプレッドシートを開いたときや、セルの内容を変更したときに、自動でスクリプトを実行させることができます。
どんなときに使えるの?
具体的な例を挙げてみましょう。
- 毎日決まった時間に集計をしたい毎日午前9時に売上データを集計して、結果をメールで送信する。
- フォームの回答があったら自動でメールを送りたいGoogleフォームで回答が送信されたら、自動で確認メールを返信する。
- スプレッドシートを開いたときに初期設定をしたいスプレッドシートを開いたときに、特定のセルに日付を入力する。
これらはすべて、GASのトリガーを使って自動化することができます。
トリガーの種類と設定方法
GASには主に2種類のトリガーがあります。
イベントトリガー
これは、ユーザーの操作(例スプレッドシートを開く、セルを編集する)をきっかけに自動でスクリプトを実行するものです。
- onOpenスプレッドシートを開いたときに実行されます。
- onEditセルの内容を編集したときに実行されます。
- onChangeシートの構造を変更したとき(例行や列の追加・削除)に実行されます。
- onFormSubmitGoogleフォームの回答が送信されたときに実行されます。
時間主導型トリガー
これは、指定した日時や周期で自動的にスクリプトを実行するものです。
- at指定した日時に実行されます。
- everyMinutes指定した分数ごとに実行されます。
- everyHours指定した時間数ごとに実行されます。
- everyDays指定した日数ごとに実行されます。
- everyWeeks指定した週間数ごとに実行されます。
実際に設定してみよう!
ここでは、スプレッドシートを開いたときに自動で日付を入力するスクリプトを作成してみましょう。
- スプレッドシートを開き、上部メニューの「拡張機能」から「Apps Script」を選択します。
- 以下のコードを入力します。
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cell = sheet.getRange('');
var date = new Date();
cell.setValue(date);
}
- 左側の「時計」アイコン(トリガー)をクリックします。
- 「トリガーを追加」をクリックし、以下のように設定します。



コメント