本サイトはアフィリエイト広告(A8.net/もしもアフィリエイト/アクセストレード等)を利用しています
GASトリガー設定完全ガイド|画像付き手順と失敗しないコツ2026
📂 GAS入門

GASトリガー設定完全ガイド|画像付き手順と失敗しないコツ2026

📅 ⏱ 読了 約6分 ✍️ 凛

💡 本記事には広告(アフィリエイトリンク)が含まれる場合があります。

こんな悩みありませんか?

「コードは書けたけど、毎回手動で実行ボタンを押すのが面倒」 「毎朝9時に自動でスプレッドシートを更新したい」 「トリガーを設定したのに動かない、原因がわからない」

私も最初、コードを書く楽しさを覚えた次の段階で、この「自動実行」の壁にぶつかりました。書いた処理を毎回手動で回すなら、手作業とあまり変わらない。GASの真価はトリガーで動き出します

この記事では、私が実運用で1年以上使ってきたトリガー設定の手順と、よくある落とし穴をまとめました。

トリガーとは何か

トリガーは「ある出来事をきっかけに関数を自動実行する」仕組みです。GASには大きく3種類あります。

  • 時限トリガー(定期実行): 毎日・毎週・毎分など時刻ベース
  • イベントトリガー: スプレッドシート編集・フォーム送信などの動作ベース
  • 起動トリガー: ファイルを開いたときなど

本記事では、もっとも使う時限トリガーを中心に解説します。

処理フロー:設定から動作まで

[関数を書く] → [エディタの時計アイコン] → [トリガーを追加] → [関数選択] → [時刻設定] → [保存] → [動作確認]

操作はすべてブラウザ内で完結します。登録まで1分、確認まで入れても5分あれば十分です。

ステップバイステップ設定手順

Step1: 対象関数を用意する

まずは定期実行したい関数を書きます。

function dailyReport() {
  const sheet = SpreadsheetApp.getActive().getSheetByName("日報");
  sheet.appendRow([new Date(), "自動実行OK"]);
}

Step2: トリガー画面を開く

エディタ左サイドバーの**時計アイコン(トリガー)**をクリックします。右下の「トリガーを追加」を押すと設定ダイアログが開きます。

Step3: 実行内容を選ぶ

  • 実行する関数: dailyReport
  • 実行するデプロイ: Head
  • イベントのソース: 時間主導型
  • 時間ベースのトリガーのタイプ: 日付ベースのタイマー
  • 時刻: 午前9時〜10時

Step4: 保存して権限承認

保存ボタンを押すと、初回は権限確認が出ます。自分のコードなので承認して進みます。

Step5: 動作確認

翌朝まで待たずに、トリガー一覧の「実行数」列で回数が増えているか確認できます。うまく動いていなければ「エラー率」列にエラーが表示されます。

具体的なメリット

私が実際に得た効果です。

  • 毎朝9時にKPIサマリがSlackに自動投稿(起床前にチーム全員が数字を把握)
  • 毎週月曜に先週の作業時間を集計(週報作業がゼロに)
  • 1分おきに在庫APIを叩いて閾値割れを検知(機会損失の防止)

単発のコード実行に比べ、価値が時間に対して積み上がるのがトリガーの本質です。1回書けば、365日働き続けます。

よくある失敗と対策

失敗1: トリガーは設定したのに動かない

ほぼ9割、対象関数のエラーが原因です。トリガー一覧の「エラー率」を確認し、「実行数 → 失敗」の詳細ログを開いてください。

失敗2: 同じ関数が二重実行される

トリガー一覧を見ずに追加していくと、同じ関数に複数トリガーが紐づくことがあります。月1回は一覧を整理しましょう。

失敗3: 実行時刻が想定とズレる

GASの時限トリガーは「指定した1時間のうちランダムに実行」されます。厳密な時刻が必要なら、短い間隔のトリガーと時刻判定を組み合わせます。

function checkAndRun() {
  const now = new Date();
  if (now.getHours() === 9 && now.getMinutes() < 5) {
    dailyReport();
  }
}

失敗4: 無料枠の実行時間上限

トリガー経由の実行も1回あたり6分の上限があります。重い処理は必ず分割バッチ化してください。

発展例:複数トリガーの組み合わせ

運用が成熟してくると、こんな構成になります。

// 毎朝: 日次集計
function morningBatch() { /* ... */ }

// 毎分: リアルタイム監視
function watcher() { /* ... */ }

// 週次: レポート送信
function weeklyReport() { /* ... */ }

それぞれに別のトリガーを紐づけると、1つのスクリプトが自動化のハブに育ちます。私の本業では、このパターンで工数を月40時間削減できました。

運用のちょっとしたコツ

コツ1: サーバー選びは早めに考える

GASは便利ですが、外部APIを叩いて大量データを扱う場合、レンタルサーバーや専用環境の方が快適なこともあります。私はConoHa WINGを併用し、GASで処理しきれない部分はPHPで受けています。用途を広げたくなったら、コスパの良いサーバー契約を検討すると世界が広がります。

コツ2: エラー通知をGmailに飛ばす

トリガー設定の最下部に「エラー通知」の設定があります。**「毎日」ではなく「即時」**に変えておくと、壊れたときすぐ気づけます。

コツ3: タイムゾーン設定を確認

プロジェクト設定で「タイムゾーン」が正しい地域になっているか確認してください。ここがずれると、毎朝9時のつもりが深夜に動いてしまいます。

独学が辛くなったら

トリガー自体はシンプルですが、複雑な自動化を組むと設計思想が問われます。我流で進めると「動くけど壊れやすい」コードになりがちです。

プログラミングスクールの短期コースで設計を学ぶ、あるいはConoHaのような安定サーバーで実運用を経験する、この2つを並行すると一気にレベルが上がります。まずは無料の資料請求や体験から始めるのがおすすめです。

まとめ

  • トリガーは時計アイコンから1分で設定可能
  • エラー通知を「即時」に
  • 実行時刻は1時間の幅がある点に注意
  • 月1回はトリガー一覧を整理

トリガーを使いこなした瞬間、GASは「書いたら終わり」のツールから「書いたら働き続ける」資産に変わります。ぜひ最初の1本を、この記事を見ながら設定してみてください。

関連記事: