У меня есть лист, из которого мне нужно получить значения и установить его на новом листе, одно из этих значений требует от меня среза строкового значения с индексами 20,26. Я могу добиться этого, используя .getValue (). Slice (20,26) и .setValue (). Тем не менее, одни и те же данные установлены во всех строках, что и следовало ожидать, так как я получаю только одну ячейку данных. Чтобы решить эту проблему, я попытался для l oop, что не удалось.
Когда я пытаюсь .getValues (). Slice (20,26), он возвращает пустой массив, который выдает следующую ошибку: Количество строк в данные не соответствуют количеству строк в диапазоне. У данных есть 0, но диапазон составляет 20.
Мой код указан ниже, и я приветствую любые рекомендации.
function pj() {
// Get Active spreadsheet.
var sheet = SpreadsheetApp.getActiveSpreadsheet();
//Get last row processed and update
var startRow =sheet.getSheetByName("Index").getRange("A1").getValue();
startRow++;
// Get payments sheet.
var paymentSheet = sheet.getSheetByName("Payments");
var clientSheet = sheet.getSheetByName("Client Details");
var lastRow = paymentSheet.getLastRow();
//Inputs
var firstName = paymentSheet.getRange(startRow, 3, (lastRow-startRow+1), 1).getValues();
var lastName= paymentSheet.getRange(startRow, 4, (lastRow-startRow+1), 1).getValues();
var paymentId = paymentSheet.getRange(startRow, 14, (lastRow-startRow+1), 1).getValues().slice(20,26);
}
//Outputs
clientSheet.getRange(2,1,(lastRow-startRow+1),1).setValues(firstName);
clientSheet.getRange(2,8, (lastRow-startRow+1),1).setValues(paymentId);
//Update the last row processed
sheet.getSheetByName('Index').getRange("A1").setValue(lastRow);
}
Пожалуйста, посмотрите изображение листа, с которым я работаю, как вы увидите столбец N содержит идентификатор платежа, который содержит уникальный идентификатор клиента, который мне нужно извлечь, чтобы загрузить эти данные в Salesforce. Кажется, проблема в том, что Logger.log правильно сообщает о строке, когда она проходит через массив, но сообщает о длине как 1. Я пытался изменить формат этого столбца различными способами, Text, Number et c, но это, кажется, не имеет никакого значения к сообщенной длине. Я предполагаю, что именно поэтому функция разделения не работает, но я не уверен, почему это происходит? Лист