【发布时间】:2017-12-11 19:05:56
【问题描述】:
我正在尝试使用 Google 脚本将 Google 工作表中第二列的 仅最后一行中的单元格设置为绿色:
1. <0,和
2.不等于#N/A
部分首选方法
我有以下if 语句(不使用循环):
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
lastrow = sheet.getLastRow()
if (sheet.getRange(lastrow, 2, 1, 1) >0.00 && sheet.getRange(lastrow, 2, 1, 1) !='#N/A') {
sheet.getRange(lastrow, 2, 1, 1).setFontColor('green');
}
但是,这不起作用。它只是没有将绿色分配给字体。
不是首选方法
我可以使用循环,基于answer,并一次循环遍历列中的所有行:
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
lastrow = sheet.getLastRow()
var oValues = sheet.getRange(2, 2, lastrow, 1).getValues();
for (var i = 0; i < oValues.length; i++) {
if (oValues[i] >0.00) {
sheet.getRange(i, 2, 1, 1).setFontColor('green');
}
}
但是,缺点是这种方法会格式化列中的所有行。我只需要格式化最后一行。
有没有办法避免遍历所有行,只检查最后一行是否满足上面的 1. 和 2.?
【问题讨论】:
标签: if-statement google-apps-script google-sheets gs-conditional-formatting