Googleスプレッドシートで特定セルが指定の数以上になった際にメールで通知(GAS)
解決したいこと
Googleスプレッドシートで特定セル(行)が指定の数以上になった際にメールで通知したいと考えています。
特定文字列が含まれている際の通知については次の記事を参照してできました。
現在のソースコード
function test(){
const subject = 'ここに通知メールタイトル'; //通知タイトル
const body = "ここから通知メール本文" //メールの内容
var recipient = 'xxx@gmail.com'; //通知を飛ばす先のgメールアドレス
var mySheet = SpreadsheetApp.getActiveSheet(); //シートを取得
var mySheetName= mySheet.getSheetName(); //シート名を取得
var myCell = mySheet.getActiveCell(); //アクティブセルを取得
var myCol = myCell.getColumn();
var myCellValue = myCell.getValue();
if(mySheetName == 'count'){ //変更されたのが特定シートなら
if(myCol == 3 ){ //変更されたのがC列なら
if(myCellValue.indexOf('1000') > -1){ //C行に「1000」という数字が出現した場合に通知
GmailApp.sendEmail(recipient, subject, body);//通知メールを送信
}
}
}
}
スプレッドシートの関数
当該スプレッドシートC列には以下の関数を記述しています。
=SUM(COUNTA(Raw!C2:C),COUNTA(Raw!I2:L))
「RAW」はGoogleフォームの回答が連携されています。
C行に代表者の氏名、I~L行に代表者以外の氏名(最大4名ぶん)記載があります。
そもそも今回実現したいこと
あるイベントに1000人の申し込みがあった場合、申込者数を制限したいと考えています。
単純に回答件数が1000人になったらフォームを閉じるなどといったシンプルなものだったらよかったのですが、
1回のフォーム送信で複数名分の申し込みを可能としているため、上記のようなやや複雑な状態となっております。
別の方法でも実現したいことが達成できるのであれば問題ありません。
おわりに
いつも素人質問をしてしまい申し訳ありません。
何卒よろしくお願いいたします。