Google Sheet Script - удалить строку с конкретными данными - PullRequest
0 голосов
/ 10 июня 2019

Итак, у меня есть код, который удаляет строки из электронной таблицы, которые содержат определенные слова. Как применить его не только к одному столбцу и выполнить поиск только по одному слову, но и проверить несколько столбцов и несколько слов?

function sort() { 
  var sheet = SpreadsheetApp.getActiveSheet(); 
  var rows = sheet.getDataRange(); 
  var numRows = rows.getNumRows(); 
  var values = rows.getValues(); 
  var rowsDeleted = 0; 

  for (var i = 0; i <= numRows - 1; i++) { 
    var row = values[i]; 
    if (row[21].indexOf('Wohnmobil') > -1) { 
      sheet.deleteRow((parseInt(i)+1) - rowsDeleted); rowsDeleted++; 
    } 
  } 
};

С помощью этого кода он просматривает столбец V и удаляет строки со словом "Wohnmobil".

Как заставить его проверять столбцы R и V, например, и удалять строки, содержащие такие слова, как "Wohnmobil", "WG", "Trailer", "Caravan"?

1 Ответ

0 голосов
/ 11 июня 2019

Вы можете попробовать это,

function sort() { 
  var sheet = SpreadsheetApp.getActiveSheet(); 
  var rows = sheet.getDataRange(); 
  var values = rows.getValues(); 
  var rowsDeleted = 0; 
  var arrayOfWords = ['Wohnmobil', ....] //this is your array of words to search

  for (var i = values.length - 1; i >= 0; i--) {  
    var row = values[i]; 
    for (var j = 0; j < arrayOfWords.length; j++) {    //loop thru your word list
      if (row.indexOf(arrayOfWords[j]) > -1) {         // search every column 
        sheet.deleteRow(i+1);     //since i loop runs from bottom row, you don't need to account for row number changes 
        rowsDeleted++;   
        break; //go out of j loop since a word has already been found and the row deleted        
      }
    } 
  } 
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...