Class Filter

Фильтр

Используйте этот класс для изменения существующих фильтров на листах типа Grid sheets), которые являются листами по умолчанию. Листы типа «сетка» — это обычные листы с данными, не связанными с базой данных.

Если на листе еще нет фильтра, создайте его с помощью Range.createFilter() .

Для использования этого класса необходимо сначала получить доступ к фильтру листа, используя Range.getFilter() или Sheet.getFilter() .

Распространенные способы применения

Удалите фильтр

Приведённый ниже пример получает фильтр на активном листе и удаляет его.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Removes the filter from the active sheet.
filter.remove();

Укажите диапазон, к которому применяется фильтр.

В приведенном ниже примере фильтр применяется к активному листу, а затем метод ` get Range() из этого класса используется для вывода в консоль диапазона, к которому применяется фильтр.
const ss = SpreadsheetApp.getActiveSheet();
// Gets the existing filter on the active sheet.
const filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

Методы

Метод Тип возвращаемого значения Краткое описание
get Column Filter Criteria(columnPosition) Filter Criteria |null Получает критерии фильтрации для указанного столбца или null , если к столбцу не применены критерии фильтрации.
get Range() Range Получает диапазон, к которому применяется данный фильтр.
remove() void Удаляет этот фильтр.
remove Column Filter Criteria(columnPosition) Filter Удаляет критерии фильтрации из указанного столбца.
set Column Filter Criteria(columnPosition, filterCriteria) Filter Задает критерии фильтрации для указанного столбца.
sort(columnPosition, ascending) Filter Сортирует отфильтрованный диапазон по указанному столбцу, исключая первую строку (заголовочную строку) в диапазоне, к которому применяется этот фильтр.

Подробная документация

get Column Filter Criteria(columnPosition)

Получает критерии фильтрации для указанного столбца или null , если к столбцу не применены критерии фильтрации.

Чтобы получить более подробную информацию о критериях фильтрации, объедините этот метод с методами из класса Filter Criteria .

const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Gets the filter criteria applied to column B of the active sheet
// and logs the hidden values.
const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
console.log(filterCriteria);

Параметры

Имя Тип Описание
column Position Integer Индекс столбца, начинающийся с 1. Например, индекс столбца B равен 2.

Возвращаться

Filter Criteria |null — Критерии фильтрации.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

get Range()

Получает диапазон, к которому применяется данный фильтр.

// Gets the existing filter on the active sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

Возвращаться

Range — диапазон фильтра. Чтобы получить диапазон в формате A1, используйте цепочку методов Range.getA1Notation() для этого метода.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

remove()

Удаляет этот фильтр.

// Removes the filter from the active sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
filter.remove();

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

remove Column Filter Criteria(columnPosition)

Удаляет критерии фильтрации из указанного столбца.

// Removes the filter criteria from column B.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
filter.removeColumnFilterCriteria(2);

Параметры

Имя Тип Описание
column Position Integer Индекс столбца, начинающийся с 1. Например, индекс столбца B равен 2.

Возвращаться

Filter — Фильтр для создания цепочек.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

set Column Filter Criteria(columnPosition, filterCriteria)

Устанавливает критерии фильтрации для указанного столбца. Сначала создайте конструктор критериев фильтрации с помощью Spreadsheet App.newFilterCriteria() . Затем добавьте критерии в конструктор, используя класс Filter Criteria Builder . После создания критериев установите их в качестве параметра filter Criteria для этого метода.

const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Builds the filter criteria to use as a parameter for setColumnFilterCriteria.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .setHiddenValues(['Hello', 'World'])
                     .build();
// Sets the filter criteria for column C.
filter.setColumnFilterCriteria(3, criteria);

Параметры

Имя Тип Описание
column Position Integer Индекс столбца, начинающийся с 1. Например, индекс столбца B равен 2.
filter Criteria Filter Criteria Критерии фильтрации для установки. Если вы установите критерий равным null , это удалит критерии фильтрации из указанного столбца. Вы также можете использовать remove Column Filter Criteria(columnPosition) .

Возвращаться

Filter — Фильтр для создания цепочек.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

sort(columnPosition, ascending)

Сортирует отфильтрованный диапазон по указанному столбцу, исключая первую строку (заголовочную строку) в диапазоне, к которому применяется этот фильтр.

// Gets the existing filter and sorts it by column B in ascending order.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
filter.sort(2, true);

Параметры

Имя Тип Описание
column Position Integer Индекс столбца, начинающийся с 1. Например, индекс столбца B равен 2.
ascending Boolean Если true , отфильтрованный диапазон сортируется в порядке возрастания; если false , отфильтрованный диапазон сортируется в порядке убывания.

Возвращаться

Filter — Фильтр для создания цепочек.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets