Я бьюсь головой о проблеме с производительностью, с которой я сталкиваюсь на странице Google нашей компании, мне нужно раскрасить определенный диапазон ячеек в соответствии с содержимым двух строк, сейчас я достигаю этого с помощью условного форматированияно процесс довольно медленный - 5 м для 550 строк, которые нужно раскрасить, плюс условное форматирование пересчитывается каждый раз, когда я меняю фильтр или сортировку, поэтому не идеально.
Вот как это выглядит:
, если отмечен флаг классификации цвета, он должен прочитать две строки повышения: прошлый + текущий и будущий, и для каждой недели продаж он должен окрашивать ячейку, если он попадает в любой из диапазонов отдве строки
На изображении в качестве примера статья имеет два продвижения в прошлом + текущая строка, каждая из которых помечена как 1-6 зеленого цвета и разделена точкой с запятой (1-6 зеленого цвета; 1-6 зеленого цвета) для каждогоНеделя продаж. Я проверяю, содержится ли номер недели в одном из этих диапазонов, соответствует ли цвет ячейке соответствующего рекламного цвета.
Возможные цвета: синий, желтый, зеленый и фиолетовый с приоритетом синего цвета = высокий приоритет на всем пути вплоть до фиолетового = низкий приоритет.
Если номер продаж равен 0, то перезаписать ярко-красным цветом.
Я нашел сценарии для изменения цвета, но я действительно не знаю, как манипулировать ими, чтобы сделать что-то подобное.
Вот что я получил с другого сайта, это просто читает содержимое ячейки, и еслис надписью «открыть», это окрашивает его:
function myColorFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var range = ss.getSheetByName("Form Responses 1").getRange(2,6,ss.getLastRow());
var cellRange = range.getValues();
for(i = 0; i<cellRange.length-1; i++){
if(cellRange[i][0] == "Open")
{
ss.getSheetByName("Form Responses 1").getRange(i+2,6).setBackground("red");
ss.getSheetByName("Form Responses 1").getRange(i+2,6).setFontColor('white');
}
}
}
Я бы хотел запустить такую функцию, когда я отмечаю ячейку «флажок цветовой градации» и избавляюсь от условного форматирования, которое слишком медленное.
вот еще один пример:
обведенная ячейка продаж находится в столбце AO, который попадает в неделю 48, если в столбцеBB есть промоушен, который охватывает ту неделю, раскрась его цветом промоушена.В этом случае есть синяя неделя с 6 по 14, поэтому столбцы AY и AZ для этой строки должны быть окрашены в синий цвет.
Надеюсь, что это прояснит
Спасибо всем за драгоценную помощь