这是我第一次使用 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);
}
}
所以现在包含Won的行变为绿色并带有黄色文本,而包含Lost的行变为红色并带有蓝色文本。
几个问题:
- 每个空行也会变成红色 - 我该如何解决这个问题?
- 我的 if/else 函数似乎是倒置的,但它工作得很好。我理解它的方式是,如果该行包含Won它实际上应该变成红色并带有蓝色文本。谁能帮我更好地理解这部分?