如何加速沉重的条件格式规则

在我们的营销公司/代理机构,我们使用Google表格中的主跟踪器来跟踪我们为客户处理的所有付费广告活动。 文档变得越来越长,我们使用的各种条件格式规则越来越沉重,并且对文档所做的任何更改都变得越来越慢。

有五名员工在任何时间都使用该文档,在对活动进行任何更改时更改“状态”列 - 是否准备好上传,是否为实时,是否暂停等。条件格式只是简单地更改每行的颜色基于“状态”列中的值。 它还会查看开始/结束日期,并在出现问题时将线标记为红色。 等等。

如何加快使用此文档的处理速度? 我为每个条件格式规则创建了一行缩略版本的跟踪器,以便您轻松查看。

我确信有更聪明的方法来整合规则和/或构建能够更轻松,更高效地处理任务的脚本。


这个答案使用一个脚本来改变状态改变后的行的背景颜色(适用于“READY”,“LIVE”和“DONE”)。

现场演示:https://docs.google.com/spreadsheets/d/1bVwM1wSBVlZTmz5S95RXSrRQxlTKWWN_Hl4PZ81sbGI/edit?usp=sharing

该脚本可在“工具 - 脚本编辑器...”菜单下查看。 它由“onEdit”触发器激活(请参阅是否可以自动执行Google Spreadsheets脚本(例如,没有事件触发它们)?)。

这是脚本本身:

function onEdit(e) {

  var STATUS_COL = 18;
  var MAX_COLS = 18;

  var COLOR_READY = "grey";
  var COLOR_LIVE = "#512da8";
  var COLOR_DONE = "green";

  var activeSheet = SpreadsheetApp.getActiveSheet();
  var cell = activeSheet.getActiveSelection();
  var val = cell.getValues()[0][0];
  var color = null;

  switch (val) {
    case "READY":
      color = COLOR_READY;
      break;
    case "LIVE":
      color = COLOR_LIVE;
      break;
    case "DONE":
      color = COLOR_DONE;
      break;
  }

  if (color != null) {
     var row = activeSheet.getRange(cell.getRow(), 1, 1, MAX_COLS);
     row.setBackgroundColor(color);
  }

}

根据某些条件我有整行更改颜色。 所以我从条件格式化面板中提取复杂的公式到工作表中的列(我得到了“TRUE”或“FALSE”),并在条件格式规则中引用这些列。 由于某些原因,条件格式公式的计算比单元内部的相同计算慢得多。

链接地址: http://www.djcxy.com/p/92885.html

上一篇: How to speed up heavy conditional formatting rules

下一篇: TFS 2015 Release management access build variables