Скопируйте из Листа 3 и Вставьте в Лист2 все строки, исключая те строки, где HDR10 является Четным, а HDR1 нечетным, а HDR6 находится между 50 и 80
function runOne() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Sheet3');
var dsh=ss.getSheetByName('Sheet2');
if(dsh.getLastRow()>1) {
dsh.getRange(2,1,dsh.getLastRow()-1,dsh.getLastColumn()).clearContent();
}
var rg=sh.getRange(2,1,sh.getLastRow()-1,sh.getLastColumn());
rg.setBackground('#ffffff');//sheet3 background white
var vA=rg.getValues();
var hA=sh.getRange(1,1,1,sh.getLastColumn()).getValues()[0];//get sheet3 headers labels
var idx={};
hA.forEach(function(h,i){idx[h]=i;});//relates header name to array index
var d=0;
for(var i=0;i-d<vA.length;i++) {
//delete row if HDR10 is even and HDR1 is odd and HDR6 is between 50 and 80 non inclusive
Logger.log('i:%s , d: %s, HDR10: %s, HDR1: %s, HDR6: %s',i,d,vA[i-d][idx['HDR10']],vA[i-d][idx['HDR1']],vA[i-d][idx['HDR6']]);
if(Number(vA[i-d][idx['HDR10']])%2==0 && Number(vA[i-d][idx['HDR1']])%2==1 && Number(vA[i-d][idx['HDR6']])>50 && Number(vA[i-d][idx['HDR6']])<80) {
vA.splice(i-d++,1);//filter out the ones we do not want
sh.getRange(i+2,1,1,sh.getLastColumn()).setBackground('#ffff00');//highlight the copied rows
}
}
dsh.getRange(dsh.getLastRow()+1,1,vA.length,vA[0].length).setValues(vA);
}
Лист3
Лист2
Хотя копирование и вставка выполняются быстро, иногда работа Извлечение только тех строк, которые вы хотите, может значительно замедлить процесс.