Возможно, вы захотите проверить электронную таблицу, поскольку в ней много случайных значений в случайных диапазонах.
При использовании следующей команды Logger.log(pasteSheet.getLastColumn());
возвращаемое число равно 3753
: это означает, что это следующий доступный столбец, в который будут вставлены ваши данные.
Полученное вами сообщение об ошибке связано с тем, что диапазон был неправильным, и вы передавали неверные значения для доступа к нему Вероятнее всего, из-за значений, указанных выше.
Более того, после очистки всех ненужных данных вы можете использовать следующий скрипт:
Фрагмент
function weeklyData() {
var spreadsheet = SpreadsheetApp.openById("ID_OF_THE_SPREADSHEET");
var sourceSheet = spreadsheet.getSheetByName("Measures & Answers");
var pasteSheet = spreadsheet.getSheetByName("WHERE DATA ENDS UP");
var valsToCopy = sourceSheet.getRange(2, 3, sourceSheet.getLastRow(), 1).getValues();
var rowsAt = sourceSheet.getRange(2, 4, sourceSheet.getLastRow(), 1).getValues();
var column = pasteSheet.getRange(12,12).getDataRegion(SpreadsheetApp.Dimension.COLUMNS).getLastColumn()+1;
for (var i = 0; i < valsToCopy.length; i++)
if (rowsAt[i][0] != "")
pasteSheet.getRange(parseInt(rowsAt[i][0]), parseInt(column)).setValue(valsToCopy[i][0].toString());
}
Объяснение
Приведенный выше скрипт собирает все данные, которые необходимо скопировать, а также строки, связанные с ним. Чтобы убедиться, что вы не используете неподходящие значения для диапазонов, было установлено условие if
, чтобы убедиться, что значение не равно empty
.
Ссылка