• 公開日:

スプレッドシートの特定のセルの更新で通知(メール送信)する方法

Google スプレッドシートでは特定のセル、あるいはシートが更新(編集)された際にメールでユーザーに通知をすることが出来ます。

この記事では、スプレッドシートで特定のセルやシートが更新された際に通知(メール送信)する方法を分かりやすく紹介します。

スプレッドシートの特定のセルの更新で通知(メール送信)する方法

Google スプレッドシートで特定のセルの更新(編集)があった際に通知(メール送信)する場合、Google Apps Script(GAS)でスクリプトを作成します。

以下より、スプレッドシートで特定のセルの更新で通知(メール送信)する方法を詳しく解説します。

特定のセルが更新されたら通知(メール送信)する

Google スプレッドシートで特定のセルの更新(編集)があった際に通知(メール送信)するスクリプトをGASで作成する場合、メニューバーにある拡張機能から行います。

作成したスクリプトを、トリガー(発動する際の条件)で設定することで、特定のセルが更新された際に即座にメールで通知を受けることが出来ます。

「Apps Script」を順に選択

A1のセルが更新(編集)された時にメールで通知することを条件としてGASでスクリプトを作成します。

「拡張機能」、②「Apps Script」を順に選択します。

「新しいプロジェクト」ボタンをクリック

「新しいプロジェクト」ボタンをクリックします。

名前を変更をクリック

「無題のプロジェクト」という名前になっているので、後に分かりやすいように名前を変更します。

名前を変更をクリックします。

名前を変更します

プロジェクトタイトルを入力し、②「名前を変更」ボタンをクリックします。

プロジェクトタイトルを「セル更新でメール通知」としております。

GASスクリプトをコピーして貼り付け

下記のGASスクリプトをコピーして貼り付けます。

指定せるセルもしくは範囲が更新(編集)された際に、指定したメールアドレス宛に通知を送信するスクリプトです。

// 編集イベントハンドラ
function onEdit(e) {
  // 編集された範囲を取得
  var range = e.range;
  var sheet = range.getSheet();
  
  // 編集された範囲のアドレス
  var editedRange = range.getA1Notation();
  
  // 監視したい範囲を指定(例:A1:B10)
  var monitoredRange = sheet.getRange('A1:B10');
  
  // 編集された範囲が監視範囲内にあるか確認
  if (range.getColumn() >= monitoredRange.getColumn() &&
      range.getColumn() <= monitoredRange.getLastColumn() &&
      range.getRow() >= monitoredRange.getRow() &&
      range.getRow() <= monitoredRange.getLastRow()) {
    
    // 通知するメールアドレスを指定
    var emailAddress = 'your-email@example.com';
    
    // メールの件名と本文を設定
    var subject = 'スプレッドシートのセルが編集されました';
    var body = 'セル範囲 ' + editedRange + ' が編集されました。\n' +
               '編集後の値: ' + range.getValue() + '\n' +
               'シート名: ' + sheet.getName();
    
    // メールを送信
    MailApp.sendEmail(emailAddress, subject, body);
  }
}
コードにセル名を入力

コードの11行目に指定したい範囲、もしくはセル名を入力します。

コードにメールアドレスを入力

コードの20行目に通知するメールアドレスを入力します。

「プロジェクトを保存」ボタンをクリック

「プロジェクトを保存」ボタンをクリックします。

トリガーをクリック

左にあるトリガーをクリックします。

「トリガーを追加」ボタンをクリック

「トリガーを追加」ボタンをクリックします。

「onEdit」を選択

実行する関数を選択で「onEdit」を選択します。

「スプレッドシートから」を選択

イベントのソースを選択で「スプレッドシートから」を選択します。

「編集時」を選択

イベントの種類を選択で「編集時」を選択します。

「今すぐ通知を受け取る」を選択

エラー通知設定で「今すぐ通知を受け取る」を選択します。

「保存」ボタンをクリック

「保存」ボタンをクリックします。

指定したセルを編集

シートに戻り指定したセルを編集します。

メールで通知が届きます

指定したメールアドレス宛に通知が送信されました。

別のユーザーがシート更新で通知(メール送信)する方法

Google スプレッドシートでは上記のGASを使用する方法のように特定のセルなどの細かい設定は出来ませんが、シートの更新があった際にメールで通知させる簡易的な方法があります。

メニューバーにあるツールの通知設定機能を利用することで、別のユーザーがシートを更新した際にメールで通知させます。

「通知を編集」を順に選択

「ツール」「通知設定」「通知を編集」を順に選択します。

通知ルールを設定して保存します

「変更が入ったとき」「メール - その都度」「保存」ボタンを順に選択します。

「完了」ボタンを押す

「完了」ボタンを押してシートに戻ります。

セルを編集する

別のユーザーでログインして、D5セルを編集します。

更新が通知される

元々ログインしていたGoogleアカウントのGmail宛に、更新が通知されました。