如果条件得到满足,如何停止电子表格中使用的Google Apps脚本功能重新计算

时间:2017-02-15 10:05:18

标签: google-apps-script google-sheets

我有一张电子表格,有2张。第一个有一个表,计算特定过程的进度,给出总体完成度量。这个数字每分钟更新一次,不会错过任何被监控的活动。

我要做的是及时创建检查点,并在第二张纸上创建相应的完成度量值,以构建仪表板,并查看流程的动态。 为此,我创建了一列时间,在这些时间点应该制作检查点,并从另一张纸上的单元格中获取所需的数据。

我目前的解决方案如下:

function getValueOnTime(ms, targetCell) { //time in ms and cell where needed value is
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var data = sheet.getRange(targetCell).getValue(); 

  if (ms <= new Date()) {
    return data;
  }
}

它的问题在于它没有获得一次单元格值并返回它,而是不断更新值,所以我最终得到一个填充了当前值的列,这根本不是我和#39;之后。

如果当前时间接近给定值,我也有一个return data发生的解决方案,但只有在条件满足时才显示当前值。我也尝试使用setValue()方法,因为我认为它只会写一次单元格值,但除了明显的权限问题之外,它也不会按预期工作。

所以我到了这一点,我认为我需要做的是在条件满足时停止功能重新计算(当前时间&gt; =给定时间),但我无法找到怎么做那。基本上,我只需要在一个时刻固定一个单元格的值。

也许我的方向完全错误,这不是我应该怎样做的?我很高兴有关如何完成这项任务的任何建议。

谢谢!

0 个答案:

没有答案