每次打开电子表格时停止重新计算自定义函数?

时间:2017-09-12 23:05:41

标签: google-apps-script google-sheets custom-function google-sheets-formula

我有一个自定义函数,它使用fetch将一些信息保存到电子表格中。问题是,它意味着在电子表格上多次使用,从各种页面获取。随着使用量的增加,每次电子表格打开时不必要地重新获取信息将变得越来越成问题。

有没有办法避免这种默认行为?我仍然希望每次编辑单元格时重新计算,即使参数完全相同。是否有一种方法可以判断它是手动编辑还是自动重新计算,还是完全禁用该行为?

1 个答案:

答案 0 :(得分:1)

  

是否有一种方法可以判断它是手动编辑还是自动重新计算,还是完全禁用该行为?

不,不。

可能的解决方法之一是使用"开关"在电子表格的某个单元格中:例如,如果单元格A1具有"更新"然后自定义函数正常重新计算;否则他们什么也不做。该单元格(A1)可以通过下拉列表进行数据验证,以便在状态之间轻松切换。  自定义函数将被修改为包括以下内容:

function customFunction(...) {
  var currentStatus = SpreadsheetApp.getActiveSheet().getRange("A1").getValue();
  if (currentStatus != "Update") {
    return; 
  }
  // the rest of function