Я настраиваю систему ротации электронных таблиц. Я нашел в Интернете какой-то сценарий, который, казалось бы, соответствовал большинству моих потребностей здесь
Вот лист, который я использую (с фиктивными данными) - здесь
Однако, настроив его для работы с форматом и разметкой, я обнаружил, что он плохо работает с пустыми ячейками.
Я пытался использовать оператор if, но ему это не нравится - синтаксическая ошибка (из раздела "e-mailaddress =".
emailAddress=if(getEmailFromName(row[1])!="") {getEmailFromName(row[1]) + ",";} else{"";}
Это текущий код, который я использую для отправки электронных писем. Есть отдельная функция, которая ищет адреса электронной почты.
// Send an email to the first person
emailAddress=getEmailFromName(row[1]) + "," +
getEmailFromName(row[2]) + "," +
getEmailFromName(row[3]) + "," +
getEmailFromName(row[4]);
MailApp.sendEmail(emailAddress, subject, message);
// to use this function, don’t put anything in the first column (A) or row (1).
// Put the name (i.e. the key, or what we’re looking for) in column B.
// Put what we want to return in column C.
var columnToSearch = 1; //column B
// Set the active sheet to our email lookup
var ss1 = SpreadsheetApp.getActiveSpreadsheet();
var sh1 = ss1.getSheetByName("EmailContactList")
ss1.setActiveSheet(sh1);
var data = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
var line = -1;
for( var i = 0; i < data.length; i++ ) {
if( data[i][columnToSearch] == sKey ) {
line = i;
break;
}
}
if( line != -1 ) {
//do what you want with the data on "line"
return data[line][2]; //value on column C of the matched line
} else {
return "";
// if criteria is not found
}
}
Я бы хотел, чтобы моя рота не была обязательно полной из первого столбца, и если она пуста, пропустить этот столбец и отправлять только на адреса электронной почты, где найдены совпадения.