Я пытаюсь выделить все строки с '1' в определенной ячейке для большого диапазона, есть ли более эффективный способ сделать это?

Я новичок и написал что-то, что смотрит на огромную таблицу и подбирает все строки, которые содержат "1".

В нем около 2000 строк, и я относительно медленно прохожу их все, есть ли более эффективный способ оценки данных?

function lookFor1(){
  var trendster = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('trendster');
  var pusher = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('pusher');
  var lastRow = trendster.getLastRow();
  for(k=0; k<=lastRow; k++){
   var j= trendster.getRange(3+k, 2, 1, 1).getValue();
    if(j==1){
      var range = pusher.getRange("C6:C26").getValues();
      var rangeLast = range.filter(String).length;
      var pusherLastRow = pusher.getLastRow();
      trendster.getRange(3+k, 1, 1, 8).copyTo(pusher.getRange(rangeLast+6,3,1,8), {contentsOnly:true});
    }
  }
}

Вот таблица

1 ответ

Решение

Чтобы отфильтровать по номеру 1 и вытянуть полные строки, вы можете ввести эту формулу:

=filter(trendster!A1:AJ,trendster!B1:B=1)
Другие вопросы по тегам