Удалить или отфильтровать строку Google Sheets, если она не содержит строку - PullRequest
0 голосов
/ 06 июня 2019

У меня есть электронная таблица, содержащая повторяющиеся строки.Повторяющиеся строки не содержат какой-либо вариант строки «Все истории» (иногда записывается как «все истории» или «Все истории»

Я хочу удалить или отфильтровать строки, которые не содержат фразу «Все»story "

Пока что я создал скрипт, который УДАЛЯЕТ строки, содержащие фразу" All Stories "

Но я так и не смог выяснить, как удалить строкиесли они не содержат фразу

Вот что у меня есть:

function readRows() {
 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[2].indexOf("(all stories)") > -1) {
 sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
 rowsDeleted++;
 } else if (row[2].indexOf("(All Stories)") > -1) {
 sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
 rowsDeleted++;
 } else if (row[2].indexOf("(All stories)") > -1) {
 sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
 rowsDeleted++;
 }
 }
};

Нет сообщений об ошибках. Работает просто отлично, просто не правильный скрипт! Любые идеи какчтобы убедиться, что скрипт удаляет строки, которые не содержат строку?

Спасибо:)

1 Ответ

1 голос
/ 06 июня 2019

Вместо проверки, если индекс выше -1, вам просто нужно проверить, является ли индекс точно -1, что означает, что строка не содержит строку.

Также нет необходимости делать 3 разных проверки, если вы сначала преобразуете строку в нижний регистр.

function readRows() {
    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[2].toLowerCase().indexOf("(all stories)") == -1) {
            sheet.deleteRow((parseInt(i)+1) - rowsDeleted);
            rowsDeleted++;
        } 
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...