Создание скрипта для фильтрации по критериям в листах - PullRequest
0 голосов
/ 03 января 2019

Я очень новичок в кодировании и был бы признателен за любую поддержку с тем, что, вероятно, является простым сценарием.

Я хочу создать сценарий, который запускается ежедневно, который фильтрует по критериям в нескольких различных столбцах.

Я искал в Интернете и могу найти только помощь по сортировке.Кажется, я не могу найти ответы, когда дело доходит до фильтрации по критериям.

Я хочу отфильтровать столбец D (Статус) для любых ячеек, которые не имеют значения «Закрыто» и хотят также отфильтровать столбец T(Область действия), чтобы иметь только значение «Стратегический»

Затем отсортируйте этот диапазон по 1-му столбцу.(Который, я полагаю, я достиг ниже) Затем я хочу запустить триггер на этом ежедневнике, который я могу настроить после.

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data Studio")

  var range = ss.getRange(2, 1, sheet.getLastRow()-1, ss.getLastColumn())

range.sort([{column: 1, descending: false}]);}

1 Ответ

0 голосов
/ 04 января 2019

Не все так просто.Вам нужно использовать filter и filterBuilder, которые не самые интуитивно понятные.Вот основной код для начала работы.Измените его для своих нужд.

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data Studio");

  var range = ss.getRange(2, 1, sheet.getLastRow()-1, ss.getLastColumn());

  // Get the existing filter, else create one for this range. May need to just
  // remove all filters first in case they conflict.
  var filter = range.getFilter() || range.createFilter();

  var column_Status = 4; // column D
  var filterCriteria_Status = SpreadsheetApp.newFilterCriteria()
    .whenTextDoesNotContain('Closed')
    .build();

  var column_Scope = 20; // column T
  var filterCriteria_Scope = SpreadsheetApp.newFilterCriteria()
    .whenTextContains('Strategic')
    .build();

  var column_to_sort = 1;
  filter.setColumnFilterCriteria(column_Status, filterCriteria_Status)
    .setColumnFilterCriteria(column_Scope, filterCriteria_Scope)
    .sort(column_to_sort, true);
}

Установить ежедневный триггер довольно просто из меню: Правка> Триггеры текущего проекта.

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