Попробуйте это:
function yourfunction() {
var ss=SpreadsheetApp.getActive();
var sh1=ss.getSheetByName("Sheet1");
var sh2=ss.getSheetByName("Sheet2");
var rg1=sh1.getRange(1,2,sh1.getLastRow(),7);//starting at column2
var data=rg1.getValues();
for(var i=0;i<data.length;i++) {
if(data[i][6]=="done") {
sh2.appendRow(data[i]);
}
}
}
или это работает для:
function yourfunction() {
var ss=SpreadsheetApp.getActive();
var sh1=ss.getSheetByName("Sheet1");
var sh2=ss.getSheetByName("Sheet2");
var rg1=sh1.getRange(1,2,sh1.getLastRow(),sh1.getLastColumn()-1);//starting at column2
var data=rg1.getValues();
for(var i=1;i<data.length;i++) {
if(data[i][6]=="done") {
sh1.getRange(i+1,2,1,sh1.getLastColumn()-1).copyTo(sh2.getRange(sh2.getLastRow()+1,1,1,sh1.getLastColumn()-1));
}
}
}
или даже это:
function yourfunction() {
var ss=SpreadsheetApp.getActive();
var sh1=ss.getSheetByName("Sheet1");
var sh2=ss.getSheetByName("Sheet2");
var rg1=sh1.getRange(1,2,sh1.getLastRow(),sh1.getLastColumn()-1);//starting at column2
var data=rg1.getValues();
for(var i=0;i<data.length;i++) {
if(data[i][6]!="done") {
data.splice(i,1);
}
}
sh2.getRange(sh2.getLastRow()+1,1,data.length,data[0].length).setValues(data);
}
На самом деле это довольно интересно:
function yourfunction() {
var ss=SpreadsheetApp.getActive();
var sh1=ss.getSheetByName("Sheet1");
var sh2=ss.getSheetByName("Sheet2");
var rg1=sh1.getDataRange();
var data=rg1.getValues();
data.map(function(r){return r.splice(0,1);});
for(var i=0;i<data.length;i++) {
if(data[i][6]!="done") {
data.splice(i,1);
}
}
sh2.getRange(sh2.getLastRow()+1,1,data.length,data[0].length).setValues(data);
}