Используйте этот класс, чтобы получить информацию о существующих фильтрах или скопировать критерии из них.
- Для создания нового фильтра воспользуйтесь следующей инструкцией:
- Для работы с листами используйте
Range.createFilter(). - Для сводных таблиц используйте
Pivot Table.addFilter(sourceDataColumn, filterCriteria). - Для листов, подключенных к базе данных, используйте
Data Source Sheet.addFilter(columnName, filterCriteria). - Для сводных таблиц, подключенных к базе данных, используйте
Data Source Pivot Table.addFilter(columnName, filterCriteria).
- Для работы с листами используйте
- Для создания критериев для любого типа фильтра обратитесь к
Spreadsheet App.newFilterCriteria()иFilter Criteria Builder.
Распространенные способы применения
Критерии копирования
В следующем примере фильтр применяется к диапазонуA1:C20 , критерии применяются к столбцу C, и критерии копируются в столбец B. const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); // Copies the filter criteria applied to column C. const filter = range.getFilter(); const criteria = filter.getColumnFilterCriteria(3).copy().build(); // Applies the copied criteria to column B. The copied criteria overwrites any // existing criteria on column B. filter.setColumnFilterCriteria(2, criteria);
Получить значения, скрытые фильтром
В следующем примере фильтр применяется к заданному диапазону, и выводятся значения из столбца B, которые фильтр скрывает.const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); const filter = range.getFilter(); // Gets the filter criteria applied to column B, then gets the hidden values. const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); // Logs the hidden values. console.log(filterCriteria);
Методы
| Метод | Тип возвращаемого значения | Краткое описание |
|---|---|---|
copy() | Filter Criteria Builder | Копирует эти критерии фильтра и создает конструктор критериев, который можно применить к другому фильтру. |
get Criteria Type() | Boolean Criteria |null | Возвращает логический тип критерия, например, CELL_EMPTY . |
get Criteria Values() | Object[] | Возвращает массив аргументов для логических критериев. |
get Hidden Values() | String[] | Возвращает значения, которые скрывает фильтр. |
get Visible Background Color() | Color |null | Возвращает цвет фона, используемый в качестве критерия фильтра. |
get Visible Foreground Color() | Color |null | Возвращает цвет переднего плана, используемый в качестве критерия фильтра. |
get Visible Values() | String[] | Возвращает значения, отображаемые фильтром сводной таблицы. |
Подробная документация
copy()
Копирует эти критерии фильтра и создает конструктор критериев, который можно применить к другому фильтру.
Этот метод можно использовать с любым типом фильтра. Если вы используете фильтр листа, вы можете скопировать критерии в другой столбец.
const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); // Makes a copy of the filter criteria applied to column C. const criteria = filter.getColumnFilterCriteria(3).copy().build(); // Applies the copied criteria to column B. The copied criteria overwrites any // existing criteria on column B. filter.setColumnFilterCriteria(2, criteria);
Возвращаться
Filter Criteria Builder — конструктор критериев фильтрации, основанный на этих критериях.
get Criteria Type()
Возвращает логический тип критерия, например, CELL_EMPTY . Чтобы узнать о типах логических критериев, см. перечисление Boolean Criteria .
Этот метод часто используется для добавления логических условий к фильтру без замены существующих критериев.
- Чтобы получить аргументы для критериев, используйте
get Criteria Values(). - Чтобы использовать тип критериев и значения критериев для создания или изменения критериев фильтрации, см.
Filter Criteria Builder.withCriteria(criteria, args).
Этот метод можно использовать для любого типа фильтра. Если критерий фильтра не является логическим условием, возвращает null .
const ss = SpreadsheetApp.getActiveSheet(); // Gets the filter on the active sheet. const filter = ss.getFilter(); // Gets the criteria type and returns a string representing the criteria type // object. const criteriaType = filter.getColumnFilterCriteria(2).getCriteriaType().toString(); // Logs the criteria type. console.log(criteriaType);
Возвращаться
Boolean Criteria |null — Тип логического критерия или null , если критерий не является логическим условием.
get Criteria Values()
Возвращает массив аргументов для логических критериев. Некоторые типы логических критериев не имеют аргументов и возвращают пустой массив, например, CELL_NOT_EMPTY .
Этот метод часто используется для добавления логических условий к фильтру без замены существующих критериев.
- Чтобы получить логический тип критерия, используйте
get Criteria Type(). - Чтобы использовать тип критерия и значения критерия для создания или изменения критериев фильтра, см.
Filter Criteria Builder.withCriteria(criteria, args).Этот метод можно использовать для любого типа фильтров.
const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); // Gets the values of the boolean criteria and logs them. For example, if the // boolean condition is whenNumberGreaterThan(10), then the logged value is 10. const criteriaValues = filter.getColumnFilterCriteria(2).getCriteriaValues(); console.log(criteriaValues);
Возвращаться
Object[]— Массив аргументов, соответствующих типу логических критериев. Количество аргументов и их тип соответствуют методуwhen...()классаFilter Criteria Builder.
get Hidden Values()
Возвращает значения, которые скрывает фильтр.
Используйте эти критерии с фильтрами на листах типа Grid , который является типом листа по умолчанию. При вызове этого метода для других типов фильтров возвращается значение null .
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); const filter = range.getFilter(); // Gets the filter criteria applied to column B, then gets the hidden values. const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); // Logs the hidden values. console.log(filterCriteria);
Возвращаться
String[] — массив значений, которые скрывает фильтр.
get Visible Background Color()
Возвращает цвет фона, используемый в качестве критерия фильтрации. Ячейки с этим цветом фона остаются видимыми.
Используйте эти критерии с фильтрами на листах типа Grid , который является типом листа по умолчанию. При вызове этого метода для других типов фильтров возвращается значение null .
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); // Logs the background color that column B is filtered by as a hexadecimal // string. const filter = range.getFilter(); const color = filter.getColumnFilterCriteria(2) .getVisibleBackgroundColor() .asRgbColor() .asHexString(); console.log(color);
Возвращаться
Color |null — Цвет фона, используемый в качестве критерия фильтра.
get Visible Foreground Color()
Возвращает цвет переднего плана, используемый в качестве критерия фильтра. Ячейки с этим цветом переднего плана остаются видимыми.
Используйте эти критерии с фильтрами на листах типа Grid , который является типом листа по умолчанию. При вызове этого метода для других типов фильтров возвращается значение null .
const ss = SpreadsheetApp.getActiveSheet(); const range = ss.getRange('A1:C20'); // Logs the foreground color that column B is filtered by as a hexadecimal // string. const filter = range.getFilter(); const color = filter.getColumnFilterCriteria(2) .getVisibleForegroundColor() .asRgbColor() .asHexString(); console.log(color);
Возвращаться
Color |null — Цвет переднего плана, используемый в качестве критерия фильтра.
get Visible Values()
Возвращает значения, отображаемые фильтром сводной таблицы.
Этот критерий применяется только к фильтрам сводных таблиц, не подключенных к базе данных. Для других типов фильтров возвращает пустой массив.
const ss = SpreadsheetApp.getActiveSheet(); // Gets the first pivot table on the sheet, then gets the visible values of its // first filter. const pivotTable = ss.getPivotTables()[0]; const pivotFilterValues = pivotTable.getFilters()[0].getFilterCriteria().getVisibleValues(); // Logs the visible values. console.log(pivotFilterValues);
Возвращаться
String[] — массив значений, отображаемых фильтром сводной таблицы.