У меня есть сценарий, который будет копировать и вставлять данные из непоследовательных столбцов, и у меня есть сценарий, который будет копировать и вставлять данные на основе нескольких критериев, однако после многочисленных попыток мне не удалось создать сценарий, который выполняет оба эти действия. Любая помощь будет оценена. Для следующего кода ошибка:
Количество строк в данных не соответствует количеству строк в диапазоне.
function UpdateTeam() {
var source = SpreadsheetApp.openById('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'); // Source workbook
var sourcesheet = source.getSheetByName("Test").getDataRange().getValues(); // *Source workbook sheet, sheets vary by location. Case sensitive.
var dest = SpreadsheetApp.getActiveSpreadsheet(); // Destination workbook
var destsheet = dest.getSheetByName("Team"); // Destination workbook sheet
var criteria1 = "Active" // Criteria #1
var criteria2 = "Hop" // *Criteria #2, change to location name in
destsheet.getRange(6, 1, destsheet.getLastRow(), destsheet.getLastColumn()).clearContent() // Clear all previous content on destination sheet
SpreadsheetApp.flush(); // Wait till the clear sheet is complete before adding new
var sourcerange = [4,2,1,4,5,7,11,12,4,64,4,65,4,68,69,70,4,75]; // Columns of data to import
var newvalues = [];
for (var i = 0, length = sourcesheet.length; i < length; i++) {
if (sourcesheet[i][1]==criteria1 && sourcesheet[i][2]==criteria2){
newvalues[i] = [];
for (var j = 0, width = sourcerange.length; j < width; j++) {
if (sourcesheet[i][1]==criteria1 && sourcesheet[i][2]==criteria2){
newvalues[i][j] = sourcesheet[i][sourcerange[j]];
}
}
}
}
if(newvalues.length > 0) {
destsheet.getRange(6, 1, length +1, width +1).setValues(newvalues);
}
}