Я впервые работаю со скриптами Google. Я хочу изменить цвет фона строки и текста, когда строка содержит определенные значения. У меня был некоторый успех, используя этот фрагмент кода:
function onEdit()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Sheet1');
var rows = sheet.getRange('a1:z');
var numRows = rows.getNumRows();
var values = rows.getValues();
for (var i = 0; i <= numRows - 1; i++)
{
var n = i+1;
var backgroundColor;
var textColor;
if(values[i].indexOf('Won'))
{
backgroundColor = 'red';
textColor = 'blue';
}
else if(values[i].indexOf('Lost'))
{
backgroundColor = 'green';
textColor = 'yellow';
}
sheet.getRange('a'+n+':z'+n).setBackgroundColor(backgroundColor);
sheet.getRange('a'+n+':z'+n).setFontColor(textColor);
}
}
Итак, теперь строки, содержащие Выиграл, становятся зелеными с желтым текстом, а строки, содержащие Проигрыш, становятся красными с синим текстом.
Пара проблем:
- Каждая пустая строка также становится красной — как мне это исправить?
- Моя функция if/else кажется перевернутой, но работает отлично. Насколько я понимаю, если строка содержит Won, она должна стать красной с синим текстом. Может ли кто-нибудь помочь мне лучше понять эту часть?