Часто возникает задача удаления строк из Таблицы Google по какому-либо условию.
Разнообразие условий так велико, что порой приходится создавать метод "удаления строк" снова и снова. Довольно утомительно. Для простых офсных скриптов можно применить сниппет, описанный ниже.
Основная идея заключается в том, чтобы взять весь массив данных и перебрать его в обратном порядке. При переборе каждая строка передается в функцию обратного вызова, которая принимет решение удалить строку или нет.
Для оптимизации количество последовательных строк суммируется, и для удаления применяется метод
В примере ниже скрипт удаляет строки автивного листа, в которых ячейки из диапазона D27:D77 и F27:F77 попарно пустые
Разнообразие условий так велико, что порой приходится создавать метод "удаления строк" снова и снова. Довольно утомительно. Для простых офсных скриптов можно применить сниппет, описанный ниже.
Основная идея заключается в том, чтобы взять весь массив данных и перебрать его в обратном порядке. При переборе каждая строка передается в функцию обратного вызова, которая принимет решение удалить строку или нет.
Для оптимизации количество последовательных строк суммируется, и для удаления применяется метод
deleteRows(rowPosition, howMany)
класса Sheet
В примере ниже скрипт удаляет строки автивного листа, в которых ячейки из диапазона D27:D77 и F27:F77 попарно пустые
А если в таблице есть закрепленные строки ?
ОтветитьУдалитьПо идее должно работать.
УдалитьОчень интересно. А где код?
ОтветитьУдалитьКто ж его знает!? Хороший отработанный код есть в сниппетах https://apps-script-snippets.contributor.pw/snippets/sheets/delete_move_rows_by_conditional
Удалить