質問: true){ MailApp.sendEmail(recipients[person], subject, body); } }; ```
回答: まえおき * 可能ですが、サンプルが悪いです。 * DをAにして、Aに通知したあと、AもしくはDがBに変更した場合、Bに通知するシナリオであってますか? 本題 イベントオブジェクトを正しく使えば容易です。 シート編集時のトリガーにはイベントオブジェクトが渡されその中に、oldValueとnewValueがありますので ``` function onEdit(e) { Logger.log(JSON.stringify(e); if(e.range.getSheet().getName() !== "") { return; } //特定のシート名でなければ中断 SpreadsheetApp.getActiveSpreadsheet().toast('sheet'); if(e.range.getColumn() !== 3 ) { return; } //C列でなければ中断 SpreadsheetApp.getActiveSpreadsheet().toast('column'); //通知対象者と対応するメール通知先を連想配列で格納 const recipients = { 'A': 'aaaaaa@gmail.com', 'B': 'bbbbbb@gmail.com', 'C': 'cccccc@gmail.com', 'D': 'cccccc@gmail.com' }; //メールの件名と本文を指定 const subject = '【更新】'+ e.source.getName(); const body = e.oldValue + 'さんから' + e.value + 'さんに担当が変更されました。\n' + e.source.getUrl() + '\n更新対象は' + e.range.getRow() + '行C列です。'; MailApp.sendEmail(recipients[e.value], subject, body); } ```