Используйте этот класс, чтобы получить информацию или скопировать критерии существующих фильтров.
- Чтобы создать новый фильтр, обратитесь к следующему:
- Для листов используйте
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 | Возвращает логический тип критерия, например CELL_EMPTY . |
get Criteria Values() | Object[] | Возвращает массив аргументов для логических критериев. |
get Hidden Values() | String[] | Возвращает значения, скрытые фильтром. |
get Visible Background Color() | Color | Возвращает цвет фона, используемый в качестве критерия фильтра. |
get Visible Foreground Color() | Color | Возвращает цвет переднего плана, используемый в качестве критерия фильтра. |
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 , если критерий не является логическим условием.
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 — цвет фона, используемый в качестве критерия фильтра.
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 — цвет переднего плана, используемый в качестве критерия фильтра.
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[] — Массив значений, отображаемых фильтром сводной таблицы.