Google Script:如何在电子表格中实现条件格式

时间:2013-11-28 19:23:18

标签: google-apps-script google-sheets google-spreadsheet-api gs-conditional-formatting

数据:

  • B1:= GoogleClock //此功能实时显示小时。 28/11/2013 15:45:00
  • C3:0:15:00 //时间
  • E3:28/11/2013 15:45:00
  • F3:= SUM(E3 + C3)//结果将是28/11/2013 16:00:00
  • G3:= IF(C3> 0; IF($ B $ 1> = $ F3;“Call”;“In Time”);“”)

公式将检查B1> = F3,如果不及时,结果将调用。

正如您在此示例中看到的那样,现在是15:45,G3将显示“In Time”,但是当= googleclock功能标记28/11/2013 16:00:00时,G3会将值更改为Call。在那一刻,背景应该从格力变为红色 -

情况:

  

我在G栏中有一个公式,即公式“致电”或“及时”的结果。

     

我使用菜单>设置条件格式设置格式> 条件格式到列G.但条件仅适用于现有行。

问题:

  

如果我添加新行,则不会将条件格式设置为该新闻行。

一旦解决方案创建了一个检测单元格中的值的脚本,如果值为Call,则将backgroundcolor转为Red,如果In Time转为绿色。

如果我将此脚本设置为在OnEdit中运行或每隔5分钟运行一次或最小值,则系统将变慢,因为此脚本每次都会检查该值。

是否存在任何设置条件格式的方式,就像我从菜单中设置一样?

1 个答案:

答案 0 :(得分:3)

Range.copyTo()可以复制条件格式。

例如,此代码段会将条件格式从单元格A1复制到列的其余部分:

function copyFormat() {
  var source = ss.getRange('A1');
  var destination = ss.getRange('A2:A');
  source.copyTo(destination, {formatOnly:true});
}