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 関数は逆になっているようですが、完全に機能します。私が理解している方法は、行にウォンが含まれている場合、実際には青のテキストで赤に変わるはずだということです。この部分をよりよく理解するのを手伝ってくれる人はいますか?