Google表格 - 基于单元格内容的条件格式行,其中内容为日期/时间

时间:2016-09-15 11:15:37

标签: google-apps-script google-sheets

我在B栏中有一张包含日期和时间的Google工作表(例如02/07/2016 15:06:00)。

我想基于'小时'来突出显示行。细胞的一部分 - 通常是在12:00和12:59之间的任何东西,以一种颜色突出显示,以及用另一种颜色突出显示的任何其他颜色。

我有以下代码按预期工作,但它基于字符串值而不是日期值:

function Formatting1() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var columnO = sheet.getRange(2, 1, sheet.getLastRow()-1, 1);
  var oValues = columnO.getValues();

  for (var i = 0; i < oValues.length; i++) {
    if (oValues[i][0] == 'No call received') {
      sheet.getRange(i + 2, 1, 1, 6 ).setBackgroundColor('#FF3300');
    }
  }
}

我难以理解的日期/时间范围的处理!任何帮助都将非常感激!

1 个答案:

答案 0 :(得分:1)

您可以使用条件格式设置和应用于=HOUR(D2) = 12的公式规则B2:B来执行此操作。

如果您想使用该功能,您只需将if语句更改为

即可
if (oValues[i][0].getHours() === 12)

假设oValues的第一列包含日期。 Google Apps脚本将电子表格日期读为Javascript dates

但要注意时区,电子表格的时区可能与脚本操作的时区不同,因此条件格式选项可能会减少头痛的可能性。

相关问题