无法更新Google表格应用脚本中的一批单元格

问题描述

因此,我正在运行一个程序,该程序对大型电子表格进行排序,并根据该行中各个单元格的属性将每一行组织为其他工作表。我可以使用宏,但是它非常慢,所以我从头开始,尝试使用块执行来使其更快地工作,而不是重复读取和写入循环中的每个单元。我在下面的If语句遇到问题。如果我正确解释了错误消息,则说明它没有读取2D数组的第二部分。我的代码是:

range = portSheet.getRange(2,1,portSheet.getLastRow(),portSheet.getLastColumn());
  var cellValues = range.getValues();
  for (i = 0; i <= cellValues.length; i++){
    if (cellValues[i][7] == "Confirmed"){
      cellValues[i][7] = "X-Confirmed";      
    }
  }
  range.setValues(cellValues);

我收到的错误

“ TypeError:无法读取未定义的属性'6'(第20行)”。

第20行,具体是:

if (cellValues[i][7] == "Confirmed"){

添加了一些测试行,以确保正确读取和处理信息,并确保正确地插入了单元格。看起来像这样:

range = portSheet.getRange(2,portSheet.getLastColumn());
  var cellValues = range.getValues();
  range = sipSheet.getRange(2,1);
  range.setValue(cellValues[0][6]);
  range = sipSheet.getRange(2,2);
  range.setValue(cellValues[0][7]);
  for (i = 0; i <= cellValues.length; i++){
    if (cellValues[i][7] == "Confirmed"){
      cellValues[i][7] = "X-Confirmed";      
    }
  }
  range.setValues(cellValues);

按预期运行,直到出现问题为止。我使用左侧的单元格进行了测试,目的是确保我正确地计数了单元格。用测试行按预期方式打印了单元格,因此我知道数组实际上是7列宽,并且if语句之前的值存在于数组中。

我已经花了几天的时间对此进行研究,但找不到与我的情况有关的任何信息。我对编码还很陌生,因此可能很明显,但是我希望能获得任何指导。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)