Неопределенные значения не являются проблемой, l oop не заканчивается, потому что каждая строка является массивом, а массив никогда не равен '.
Когда код вызывает sheet.getRange(2,1,sheet.getLastRow()-1,1).getValues()[numberOfRows]
, Возвращаемое значение - массив столбцов. Если вы выбрали 3 столбца в своем диапазоне, строка будет выглядеть примерно так: ['A','B','C']
.
Чтобы получить доступ к значению столбца в строке, вам нужно указать его индекс. В этом случае вы выбираете только один столбец (['A']
), поэтому индекс равен 0.
При желании вы можете обнаружить, что код чище, если сначала поместить значения в переменную, это выбор стиля.
var values = sheet.getRange(2,1,sheet.getLastRow()-1,1).getValues();
var numberOfRows = 0;
while(values[numberOfRows][0] != '' ){
numberOfRows++;
}