Этот твой скрипт полностью рабочий и работает правильно. Ибо getLastRow не учитывает тип содержимого... он возвращает номер последней хоть чем-нибудь заполненной строки, поэтому вариант с +1 более чем рабочий. В чем конкретно проблема?
Если ты подразумевал, что при поиске последней строки с помощью getLastRow находится строка за пределами нужных трех колонок (ты явно неправильно подобрал скриншот, чтобы донести суть)... то это можно исправить путем получения значений и фильтрации, начиная с конца... что-то вроде такого...
const data = [['dog', 'cat', 'mouse']];
const values = sheet.getRange(1, 2, sheet.getLastRow(), data[0].length).getValues();
for (const [index, value] of values.reverse().entries()) {
if (value.join('') == '') values[index] = false;
else break;
}
const lastRow = values.filter(e => e !== false).length;
sheet.getRange(lastRow + 1, 2, 1, data[0].length).setValues(data);
Вот на таком листе...
Новые значения будут добавлены строго в конце трех обозначенных колонок... несмотря на то, что последняя строка определяется другой колонкой...
Пытаюсь написать скрипт для записи значений в определенные столбцы на лист в гугл таблицах.
Обыскал все сайты не могу найти конкретного ответа.
Мне необходимо на листе находить последнюю строку только в столбцах (В, С и D). Так как в столбце (E) у меня находятся Флажки, то распространенная функция поиска последней строки мне не подходит, потому что она находит последний флажок в строке и пишет под ним. Функция не должна при поиске последней строки учитывать столбец (E).Подскажите, пожалуйста, кто знает, как записывать в последнюю строку обозначенных столбцов?
Моя функция: