当サイトの記事にはプロモーションが含まれています。

初心者でもできる!Google Apps Scriptでスプレッドシートを自動実行する方法

パソコンパソコン・スマホ教室
スポンサーリンク

Googleスプレッドシートを使っていて、「毎日決まった時間に集計をしたい」「フォームの回答があったら自動でメールを送りたい」と思ったことはありませんか?そんなときに便利なのが、Google Apps Script(GAS)の「トリガー機能」です。今回は、初心者の方でもわかりやすいように、GASでスプレッドシートを自動実行する方法を、実際の例を交えてご紹介します。

スポンサーリンク

トリガーって何?

Googleスプレッドシートのイメージ

Googleスプレッドシートのイメージ

まず、「トリガー」という言葉を聞いたことがない方もいらっしゃるかもしれません。簡単に言うと、トリガーは「何かのきっかけで自動的に動く仕組み」のことです。例えば、スプレッドシートを開いたときや、セルの内容を変更したときに、自動でスクリプトを実行させることができます。

どんなときに使えるの?

具体的な例を挙げてみましょう。

ここがポイント!

  • 毎日決まった時間に集計をしたい毎日午前9時に売上データを集計して、結果をメールで送信する。
  • フォームの回答があったら自動でメールを送りたいGoogleフォームで回答が送信されたら、自動で確認メールを返信する。
  • スプレッドシートを開いたときに初期設定をしたいスプレッドシートを開いたときに、特定のセルに日付を入力する。

これらはすべて、GASのトリガーを使って自動化することができます。

トリガーの種類と設定方法

GASには主に2種類のトリガーがあります。

イベントトリガー

これは、ユーザーの操作(例スプレッドシートを開く、セルを編集する)をきっかけに自動でスクリプトを実行するものです。

ここがポイント!

  • onOpenスプレッドシートを開いたときに実行されます。
  • onEditセルの内容を編集したときに実行されます。
  • onChangeシートの構造を変更したとき(例行や列の追加・削除)に実行されます。
  • onFormSubmitGoogleフォームの回答が送信されたときに実行されます。

時間主導型トリガー

これは、指定した日時や周期で自動的にスクリプトを実行するものです。

ここがポイント!

  • at指定した日時に実行されます。
  • everyMinutes指定した分数ごとに実行されます。
  • everyHours指定した時間数ごとに実行されます。
  • everyDays指定した日数ごとに実行されます。
  • everyWeeks指定した週間数ごとに実行されます。

実際に設定してみよう!

ここでは、スプレッドシートを開いたときに自動で日付を入力するスクリプトを作成してみましょう。

  1. スプレッドシートを開き、上部メニューの「拡張機能」から「Apps Script」を選択します。
  2. 以下のコードを入力します。
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cell = sheet.getRange('');
var date = new Date();
cell.setValue(date);
}
  1. 左側の「時計」アイコン(トリガー)をクリックします。
  2. 「トリガーを追加」をクリックし、以下のように設定します。
  • 実行する関数を選択onOpen
  • 実行するデプロイを選択Head
  • イベントのソースを選択スプレッドシートから
  • イベントの種類を選択起動時

これで、スプレッドシートを開いたときに自動でセルに日付が入力されるようになります。

注意点とコツ

  • 同時実行の制限複数のユーザーが同時にスプレッドシートを編集すると、スクリプトが重複して実行される可能性があります。これを防ぐために、ロック機能を使って同時実行を制御することができます。
  • 実行時間の制限GASのスクリプトは、1回の実行で6分を超えるとタイムアウトします。長時間かかる処理は、分割して実行するなどの工夫が必要です。
  • エラー通知の設定スクリプトがエラーを起こした場合、通知を受け取る設定をしておくと安心です。

よくある質問や疑問

Q1: スプレッドシートを開いたときに自動で特定のセルに値を入力したい

セルに日付を入力する例を前述しましたが、他のセルに任意の値を入力することも可能です。例えば、B1セルに「こんにちは」と入力する場合は、以下のようにコードを変更します。

function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cell = sheet.getRange('B1');
cell.setValue('こんにちは');
}

Q2: フォームの回答があったときに自動でメールを送りたい

Googleフォームとスプレッドシートを連携させ、フォームの回答が送信されたときに自動でメールを送ることができます。以下のようなコードを使用します。

function onFormSubmit(e) {
var email = 'example@example.com';
var subject = 'フォームの回答がありました';
var message = '新しい回答があります。';
MailApp.sendEmail(email, subject, message);
}

Q3: スクリプトの実行履歴を確認したい

スクリプトの実行履歴は、GASエディタの「表示」メニューから「実行ログ」を選択することで確認できます。ここで、スクリプトが正常に実行されたか、エラーが発生したかを確認することができます。

まとめ

Google Apps Scriptのトリガー機能を使うことで、スプレッドシートの操作を自動化し、作業の効率化を図ることができます。初心者の方でも、少しずつ試してみることで、より便利に活用できるようになるでしょう。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました