Я пытаюсь создать электронную таблицу, которая позволит мне отправлять электронные письма в зависимости от того, эквивалентна ли определенная ячейка («A36») «N95» или «N64», а также если диапазон (G35: G46) равен или больше "56". Раньше я добивался этого, используя формулу ЕСЛИ (СУММЕСЛИ ()> 56, (СУММЕСЛИ (), ""). Однако мой клиент хочет, чтобы в самом документе не было формул.
Вот что я пока вырезал ...
function newFile() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var values = ss.getRange("G35:G46").getValues();
var Ext = ss.getRange("A36").getA1Notation();
if((values.getValue()>="56") && (Extrusion="N64")){
ss.getRange=("P1:P4").setValue("2");
}
if ((values.getValue()>"56") && (Ext="N95")){
ss.getRange("P1:P4").setValue("1");
}
}
В качестве обновления вот то, что я придумал, однако я хотел бы сжать это в небольшой скрипт. Признаюсь, я все еще учусь, и мне очень нужна помощь.
function newFile() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var Ext = ss.getRange("A36").getValue();
if ((ss.getRange("G35").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
ss.getRange("L35").setValue("4");}
if ((ss.getRange("G36").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
ss.getRange("L35").setValue("4");}
if ((ss.getRange("G37").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
ss.getRange("L35").setValue("4");}
if ((ss.getRange("G38").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
ss.getRange("L35").setValue("4");}
if ((ss.getRange("G39").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
ss.getRange("L35").setValue("4");}
if ((ss.getRange("G40").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
ss.getRange("L35").setValue("4");}
if ((ss.getRange("G41").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
ss.getRange("L35").setValue("4");}
if ((ss.getRange("G42").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
ss.getRange("L35").setValue("4");}
if ((ss.getRange("G43").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
ss.getRange("L35").setValue("4");}
if ((ss.getRange("G44").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
ss.getRange("L35").setValue("4");}
if ((ss.getRange("G45").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
ss.getRange("L35").setValue("4");}
if ((ss.getRange("G46").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
ss.getRange("L35").setValue("4");}
}
// .setValue("4") is just my way of letting me know if the script was successful
Готовое обновление.
Оглядываясь назад, я понял, что не опубликовал последнюю копию того, что у меня получилось.
function checkExt() {
var ssExt = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var valuesExt = ssExt.getRange("G35:G46").getValues();
var Ext = ssExt.getRange("A36").getValue();
if ((ssExt.getRange("G35").getValue() > 55) && (Ext === "N64" || Ext === "N95")){
sendEmails()}
Функция отправки писем разделилась на 3 разные группы людей в зависимости от значения ячейки. Я не собираюсь публиковать весь код, но вот его фрагмент.
var email = "";
if (ssExt.getRange("K8").getValue() === "1Q1"){
email = MailList1stShift}
else if (ssExt.getRange("K8").getValue() === "2Q1"){
email = MailList2ndShift}
else if (ssExt.getRange("K8").getValue() === "3Q1"){
email = MailList3rdShift}