微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决无法更新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 举报,一经查实,本站将立刻删除。