前提・実現したいこと
Googleフォームにてスプレッドシートに回答が来たら、C列の値が前回なかったかのチェックをしたいです。
もしも重複があったならば、メールを送り重複行(前回分)の削除をしたいです。
人のソースのコピペ状態で申し訳ございません。
ご教示よろしくお願いします。
発生している問題・エラーメッセージ
TypeError: undefined からプロパティ「0」を読み取れません。(行 15、ファイル「コード」)
該当のソースコード
GAS
1function checks() { 2 var sheet = SpreadsheetApp.getActiveSheet(); 3 //var values = sheet.getDataRange().getValues(); 4 var last_row = sheet.getLastRow(); 5 var duplicate_id = ""; 6 var check = sheet.getRange(last_row,3).getValue(); 7 8 for(var i=2; i<=last_row; i++){ 9 for(var j=2; j<=last_row; j++){ 10 if(i==j) continue; 11 if(check[i-1][0] == check[j-1][0]) { 12 var userMail = sheet.getRange(i,2).getValue(); 13 var userName = sheet.getRange(i,7).getValue(); 14 var subject = '前回の申し込みはキャンセルされました。'; 15 var body = userName + '様。\n' 16 + '-- お申込み内容 ------------------------------------\n\n' 17 18 + '----------------------------------------------------------------\n\n' 19 + '--\n'; 20 MailApp.sendEmail(userMail, subject, body, {name: 'name'}); 21 } 22 } 23 }
試したこと
重複行の検索等で調べほぼコピペなのですが・・・
sheet.getDataRange().getValues()
で、シート全部の配列になってしまうので、新規回答のC列の値を取ろうとしてます。
行数がわかれば、そこから値もとれるし行削除もできると思うのですがうまくいきません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/10 00:36