У меня есть лист расписания конференций, представляющий собой сетку раскрывающихся списков с названиями всех презентаций. Когда презентация выбрана, я бы хотел, чтобы она автоматически устанавливала цвет «типа» презентации. Типы презентаций находятся рядом с названием презентации на другом листе.
Я могу установить цвет ячейки на основе содержимого ячейки, но я бы хотел, чтобы это значение ячейки искалось в статической таблице с двумя столбцами (в другом месте) и возвращалось смежное значение.
function onEdit(event) {
var ss = event.range.getSheet();
if (ss.getName() !== "Sheet2") return;
var changedCell = event.source.getActiveRange();
var c = event.value;
var color = 'white';
var data=getRange('G1:H5').getValues();
for(i=0;i<data.length;i++){
if (data[i][0]==c){
return data[i][1];
}
}
switch (data[i][1]) {
case "Math":
color = "MediumSeaGreen";
break;
case "Science":
color = "Orange";
break;
case "History":
color = "DarkGray";
break;
case "English":
color = "Gold";
break;
case "Spanish":
color = "LightCoral";
break;
default:
break;
}
changedCell.setBackground(color);
}
Изображение электронной таблицы
if (data[i][0]==c){ return data[i][1]; }
завершает работу функции. И переключатель находится вне цикла. Я думаю, вы бы хотели, чтобы это было внутри оператора if. - person Cooper   schedule 18.08.2019