所以正如标题所说,我想在迭代一行直到最后一行的同时找到一行中的空单元格或未定义单元格。但它说"TypeError:无法从undefined读取属性"0"。"因为它无法读取未定义的值并检查它。你可以在下面看到我的代码。谢谢
for (var row = startRow; row <= endRow; row++) {
var rangeA = "A" + row;
var rangeB = "H" + row;
var range = rangeA + ":" + rangeB;
var values = sheet1.getRange(range).getValues(); // get all data in one call
for ( var ct = 0; ct <= 7; ct++) {
if (values[ct][0]) = "")
runloop = false;
}
原因:
数组先按行索引,然后按列索引。例如,A1:H1包含1行8列或1个内部数组和该1个内部阵列[[A1,B1,C1,D1,E1,F1,G1,H1]]
中的8个元素。因此,values[1]
将是undefined
(因为只有1个内部数组的索引为0(。脚本在内部数组中循环,而不是在内部数组的元素中循环。
解决方案:
- 循环元素
代码段:
if (values[0][ct] === "")