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