Используйте этот класс, чтобы получить информацию или скопировать критерии существующих фильтров.
- Чтобы создать новый фильтр, обратитесь к следующему:
- Для листов используйте
Range.createFilter()
. - Для сводных таблиц используйте
PivotTable.addFilter(sourceDataColumn, filterCriteria)
. - Для листов, подключенных к базе данных, используйте
DataSourceSheet.addFilter(columnName, filterCriteria)
. - Для сводных таблиц, подключенных к базе данных, используйте
DataSourcePivotTable.addFilter(columnName, filterCriteria)
.
- Для листов используйте
- Чтобы создать критерии для любого типа фильтра, обратитесь к
SpreadsheetApp.newFilterCriteria()
иFilterCriteriaBuilder
.
Обычное использование
Копировать критерии
В следующем примере получает фильтр, который применяется к диапазонуA1:C20
, получает критерии, примененные к столбцу C, и копирует критерии в столбец B.let ss = SpreadsheetApp.getActiveSheet(); let range = ss.getRange("A1:C20"); // Copies the filter criteria applied to column C. let filter = range.getFilter(); let 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, которые скрывает фильтр.let ss = SpreadsheetApp.getActiveSheet(); let range = ss.getRange("A1:C20"); let filter = range.getFilter(); // Gets the filter criteria applied to column B, then gets the hidden values. let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); // Logs the hidden values. console.log(filterCriteria);
Методы
Метод | Тип возврата | Краткое описание |
---|---|---|
copy() | FilterCriteriaBuilder | Копирует этот критерий фильтра и создает построитель критериев, который можно применить к другому фильтру. |
getCriteriaType() | BooleanCriteria | Возвращает логический тип критерия, например CELL_EMPTY . |
getCriteriaValues() | Object[] | Возвращает массив аргументов для логических критериев. |
getHiddenValues() | String[] | Возвращает значения, скрытые фильтром. |
getVisibleBackgroundColor() | Color | Возвращает цвет фона, используемый в качестве критерия фильтра. |
getVisibleForegroundColor() | Color | Возвращает цвет переднего плана, используемый в качестве критерия фильтра. |
getVisibleValues() | String[] | Возвращает значения, отображаемые фильтром сводной таблицы. |
Подробная документация
copy()
Копирует этот критерий фильтра и создает построитель критериев, который можно применить к другому фильтру.
Вы можете использовать этот метод с любым типом фильтра. Если вы используете фильтр таблицы, вы можете скопировать критерии в другой столбец.
let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Makes a copy of the filter criteria applied to column C. let 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);
Возвращаться
FilterCriteriaBuilder
— Построитель критериев фильтра, основанный на этих критериях фильтра.
getCriteriaType()
Возвращает логический тип критерия, например CELL_EMPTY
. Чтобы узнать о типах логических критериев, см. перечисление BooleanCriteria
.
Люди часто используют этот метод для добавления критериев логического условия в фильтр без замены существующих критериев.
- Чтобы получить аргументы для критериев, используйте
getCriteriaValues()
. - Чтобы использовать тип критерия и значения критериев для создания или изменения критериев фильтра, см.
FilterCriteriaBuilder.withCriteria(criteria, args)
.
Вы можете использовать этот метод для любого типа фильтра. Если критерий фильтра не является логическим условием, возвращается null
.
let ss = SpreadsheetApp.getActiveSheet(); // Gets the filter on the active sheet. let filter = ss.getFilter(); // Gets the criteria type and returns a string representing the criteria type object. let criteriaType = filter.getColumnFilterCriteria(2) .getCriteriaType() .toString(); // Logs the criteria type. console.log(criteriaType);
Возвращаться
BooleanCriteria
— Тип логического критерия или null
, если критерий не является логическим условием.
getCriteriaValues()
Возвращает массив аргументов для логических критериев. Некоторые типы логических критериев не имеют аргументов и возвращают пустой массив, например CELL_NOT_EMPTY
.
Люди часто используют этот метод для добавления критериев логического условия в фильтр без замены существующих критериев.
- Чтобы получить логический тип критерия, используйте
getCriteriaType()
. - Чтобы использовать тип критерия и значения критериев для создания или изменения критериев фильтра, см.
FilterCriteriaBuilder.withCriteria(criteria, args)
.Вы можете использовать этот метод для любого типа фильтра.
let ss = SpreadsheetApp.getActiveSheet(); let 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. let criteriaValues = filter.getColumnFilterCriteria(2).getCriteriaValues(); console.log(criteriaValues);
Возвращаться
Object[]
— Массив аргументов, соответствующий типу логического критерия. Количество аргументов и их тип соответствуют соответствующему методуwhen...()
классаFilterCriteriaBuilder
.
getHiddenValues()
Возвращает значения, скрытые фильтром.
Используйте этот критерий с фильтрами на листах Grid
(тип листа по умолчанию). Возвращает null
, если вы вызываете этот метод для других типов фильтров.
let ss = SpreadsheetApp.getActiveSheet(); let range = ss.getRange("A1:C20"); let filter = range.getFilter(); // Gets the filter criteria applied to column B, then gets the hidden values. let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); // Logs the hidden values. console.log(filterCriteria);
Возвращаться
String[]
— Массив значений, которые скрывает фильтр.
getVisibleBackgroundColor()
Возвращает цвет фона, используемый в качестве критерия фильтра. Ячейки с этим цветом фона остаются видимыми.
Используйте этот критерий с фильтрами на листах Grid
(тип листа по умолчанию). Возвращает null
, если вы вызываете этот метод для других типов фильтров.
let ss = SpreadsheetApp.getActiveSheet(); let range = ss.getRange("A1:C20"); // Logs the background color that column B is filtered by as a hexadecimal string. let filter = range.getFilter(); let color = filter.getColumnFilterCriteria(2) .getVisibleBackgroundColor() .asRgbColor() .asHexString(); console.log(color);
Возвращаться
Color
— цвет фона, используемый в качестве критерия фильтра.
getVisibleForegroundColor()
Возвращает цвет переднего плана, используемый в качестве критерия фильтра. Ячейки с этим цветом переднего плана остаются видимыми.
Используйте этот критерий с фильтрами на листах Grid
(тип листа по умолчанию). Возвращает null
, если вы вызываете этот метод для других типов фильтров.
let ss = SpreadsheetApp.getActiveSheet(); let range = ss.getRange("A1:C20"); // Logs the foreground color that column B is filtered by as a hexadecimal string. let filter = range.getFilter(); let color = filter.getColumnFilterCriteria(2) .getVisibleForegroundColor() .asRgbColor() .asHexString(); console.log(color);
Возвращаться
Color
— цвет переднего плана, используемый в качестве критерия фильтра.
getVisibleValues()
Возвращает значения, отображаемые фильтром сводной таблицы.
Этот критерий предназначен только для фильтров сводных таблиц, которые не подключены к базе данных. Возвращает пустой массив для других типов фильтров.
let ss = SpreadsheetApp.getActiveSheet(); // Gets the first pivot table on the sheet, then gets the visible values of its first filter. pivotTable = ss.getPivotTables()[0]; pivotFilterValues = pivotTable.getFilters()[0].getFilterCriteria().getVisibleValues(); // Logs the visible values. console.log(pivotFilterValues);
Возвращаться
String[]
— Массив значений, отображаемых фильтром сводной таблицы.