Хотелось бы, чтобы строка на листе 1 (main
) была скопирована из столбца A в K, когда в ячейку L этой строки введено определенное условие, если столбец L содержит 'up', следует скопировать в следующуюдоступная строка листа2 (Sub
).если столбец L на листе 1 (Main
) изменяется с «вверх» на «вниз», его следует удалить с листа 2 (Sub
) и скопировать на лист 3 (Done
) и наоборот.
function copyrange() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('Main'); //source sheet
var testrange = sheet.getRange('L:L');
var testvalue = (testrange.getValues());
var csh = ss.getSheetByName('Sub'); //destination sheet
var sch = ss.getSheetByName('Done'); //destination sheet
var data = [];
var j =[];
//Condition check in L:L; If true copy the same row to data array
for (i=0; i<testvalue.length;i++) {
if ( testvalue[i] === 'up') // changed to ===, == is used to check if they are the same object(have same memory location).
{
data.push.apply(data,sheet.getRange(i+1,1,1,11).getValues());
// Copy matched ROW numbers to j
j.push(i);
csh.getRange(csh.getLastRow()+1,1,data.length,data[0].length)
.setValues(data);
}
else ( testvalue[i] === 'down') // changed to ===, ditto.
{
data.push.apply(data,sheet.getRange(i+1,1,1,11).getValues());
//Copy matched ROW numbers to j
j.push(i);
sch.getRange(sch.getLastRow()+1,1,data.length,data[0].length)
.setValues(data);
}
}
}