Уведомление по электронной почте, если конкретная ячейка изменена, и добавьте еще одно значение в сообщение без отслеживания изменений

Что я сделал:

Если какая-либо ячейка в столбце M была изменена, то было отправлено уведомление по электронной почте для указания адресов из столбца N в той же строке. Но мне также нужно указать основной текст из других столбцов в той же строке. Я сделал что-то, что работает, но это также приводит к тому, что если были изменены другие объявленные столбцы (например, проект, клиент, задача, исполнитель), на которые был отправлен emil.

Что мне нужно:

Просто отслеживайте изменения только в одном столбце «M» и добавляйте в тело письма дополнительные данные из других столбцов, но из той же строки. И (в этом вся суть) не отслеживал изменения в других столбцах, электронная почта должна отправляться только при изменении столбца М.

Наверное, это было бы легко, но я искажен ...

Я написал этот скрипт на основе:

уведомление по электронной почте, если ячейка измененакак прикрепить событие / скрипт значения ячейки onChange к гугл листуОграничить отправку уведомлений об изменениях, указанных в столбцах

Мой сценарий:

function sendNotification() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var cell = ss.getActiveCell().getA1Notation();
  var row = sheet.getActiveRange().getRow();
  var cellvalue = ss.getActiveCell().getValue().toString();
  var sendto = '';
      if(cell.indexOf('M')!=-1){ 
      sendto = sheet.getRange('N'+ sheet.getActiveCell().getRowIndex()).getValue()
      }   
  var project = ''; 
      project = sheet.getRange('C'+ sheet.getActiveCell().getRowIndex()).getValue()   
  var customer = '';
      customer = sheet.getRange('D'+ sheet.getActiveCell().getRowIndex()).getValue()      
  var task = '';
      task = sheet.getRange('E'+ sheet.getActiveCell().getRowIndex()).getValue()      
  var executor = '';
      executor = sheet.getRange('F'+ sheet.getActiveCell().getRowIndex()).getValue() 
  var deadline = '';
      deadline = LanguageApp.translate(Utilities.formatDate(sheet.getRange('I'+ sheet.getActiveCell().getRowIndex()).getValue() , "GMT" , "EEEE, dd MMMM YYYY" ),'en','pl')
  var status = '';
      status = sheet.getRange('M'+ sheet.getActiveCell().getRowIndex()).getValue()         
  var mysubject = status + ' | ' + project + ': ' + task + ' - ' + ss.getName() + ' update';
  var mybody = '\nStatus: ' + status + '\n\nproject: ' + project + '\ncustomer: ' + customer + '\ntask: ' + task + '\nexecutor: ' + executor + '\nDeadline: ' + deadline + '\n\n' + ss.getName() + ': \n' + ss.getUrl();

  MailApp.sendEmail({
    to:sendto, 
    subject:mysubject,
    body:mybody});
};

Ответы на вопрос(1)

Ваш ответ на вопрос