I'm attempting to change the font color in an entire row based on the content in column B matching some pre-defined strings.
Works just fine although the index is off by 1 and I need to account for this:
values[row][1]
Error: "TypeError: Cannot read property "1" from undefined.":
values[row+1][1]
Attempting also throws the same error:
values[1+Number(row)][1]
Here is the entire codeblock:
function colorRow(){
var sheet = SpreadsheetApp.getActiveSheet();
var range=sheet.getDataRange();
var values = range.getValues();
for (var row in values){
var result;
if(values[1+Number(row)][1].toString()=="stalker"){
result = sheet.getRange(row,1,1,range.getLastRow())
result.setFontColor("purple");
}else if(values[1+Number(row)][1].toString() == "engineer"){
result = sheet.getRange(row,1,1,range.getLastRow())
result.setFontColor("yellow");
}else if(values[1+Number(row)][1].toString() == "warrior"){
result = sheet.getRange(row,1,1,range.getLastRow())
result.setFontColor("red");
}else if(values[1+Number(row)][1].toString() == "medic"){
result = sheet.getRange(row,1,1,range.getLastRow())
result.setFontColor("green");
}else if(values[1+Number(row)][1].toString() == "esper"){
result = sheet.getRange(row,1,1,range.getLastRow())
result.setFontColor("blue");
}else if(values[1+Number(row)][1].toString() == "spellslinger"){
result = sheet.getRange(row,1,1,range.getLastRow())
result.setFontColor("orange");
}
}
SpreadsheetApp.flush();
}