Копировать строку на другой лист при выполнении условий - PullRequest
0 голосов
/ 27 сентября 2018

Хотелось бы, чтобы строка на листе 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);

        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...