有没有一种方法可以在执行期间使用App脚本

时间:2019-04-04 19:38:56

标签: javascript arrays google-apps-script google-sheets

我设计了各种相互连接的电子表格,以便自动调度不同部门的任务。但是,随着系统的发展,由于要通过,分析和修改的数据增加,我的功能运行时间也有所增加。我将问题追溯到以下事实:我修改了工作表后嵌套循环使用if语句重新初始化数组,以便继续使用if语句引用数组中的新值。

我已经搜索了网络和google参考,但到目前为止却找不到答案。我是一名业余程序员,所以我承认一个事实,我可能只是因为我是绿色的并且仍在学习而错过了我一直在看的东西,所以如果这是一个愚蠢的问题,我深表歉意

function myFunction(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var lastC = sheet.getLastColumn();
  var lastC = sheet.getLastColumn();
  var lastR = sheet.getLastRow();
  var valueA = sheet.getRange(1, 1, lastR, lastC).getValues();
  var value3 = 1;
  for(i=0; i<lastR-1; i++){
    var value1 = valueA[i][0];
    for(j=0; j<lastR-1; j++){
      for(k=0; k<lastR-1; k++){
        var value2 = valueA[k+1][j];
        if(value1 <= value2){
          var valueDest = sheet.getRange(k, j-1);
          valueDest.setValue(value3);
          value3 = value3 +1;
          valueA = sheet.getRange(1, 1, lastR, lastC).getValues();
        }
      }
    }
  }
}

请原谅此代码仓促编写的任何错误,以便对我要完成的工作有个了解

这是if语句的最后一行限制执行速度

有没有一种方法可以使用代码修改数组中的值,而不是一遍又一遍地从工作表中调用数组以加快执行速度

0 个答案:

没有答案