Class FilterCriteriaBuilder

FilterCriteriaBuilder

Чтобы добавить критерии в фильтр, необходимо сделать следующее:

  1. Создайте построитель критериев, используя SpreadsheetApp.newFilterCriteria() .
  2. Добавьте настройки в конструктор, используя методы этого класса.
  3. Используйте build() чтобы собрать критерии с указанными вами настройками.

Обычное использование

Скрыть значения на листе

В следующем примере извлекается существующий фильтр листа и добавляются критерии, скрывающие ячейки в столбце C, содержащие слова «привет» или «мир». Критерии в этом примере можно использовать только с фильтрами на листах Grid (тип листа по умолчанию).
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
const criteria = SpreadsheetApp.newFilterCriteria()
                     .setHiddenValues(['hello', 'world'])
                     .build();
filter.setColumnFilterCriteria(3, criteria);

Показывать только непустые ячейки

В следующем примере добавляется фильтр к листу DataSource , листу, подключенному к базе данных, с критериями, которые показывают только непустые ячейки в столбце «Категория».
// Gets the sheet named "Connected sheet," which is connected to a database.
const sheet = SpreadsheetApp.getActiveSpreadsheet()
                  .getSheetByName('Connected sheet')
                  .asDataSourceSheet();
// Creates criteria that only shows non-empty cells.
const criteria = SpreadsheetApp.newFilterCriteria().whenCellNotEmpty().build();
// Applies the criteria to the column named "Category."
sheet.addFilter('Category', criteria);

Методы

Метод Тип возврата Краткое описание
build() FilterCriteria Собирает критерии фильтра с использованием настроек, которые вы добавляете в построитель критериев.
copy() FilterCriteriaBuilder Копирует этот критерий фильтра и создает построитель критериев, который можно применить к другому фильтру.
getCriteriaType() BooleanCriteria Возвращает логический тип критерия, например CELL_EMPTY .
getCriteriaValues() Object[] Возвращает массив аргументов для логических критериев.
getHiddenValues() String[] Возвращает значения, скрытые фильтром.
getVisibleBackgroundColor() Color Возвращает цвет фона, используемый в качестве критерия фильтра.
getVisibleForegroundColor() Color Возвращает цвет переднего плана, используемый в качестве критерия фильтра.
getVisibleValues() String[] Возвращает значения, отображаемые фильтром сводной таблицы.
setHiddenValues(values) FilterCriteriaBuilder Устанавливает значения, которые нужно скрыть.
setVisibleBackgroundColor(visibleBackgroundColor) FilterCriteriaBuilder Устанавливает цвет фона, используемый в качестве критерия фильтра.
setVisibleForegroundColor(visibleForegroundColor) FilterCriteriaBuilder Устанавливает цвет переднего плана, используемый в качестве критерия фильтра.
setVisibleValues(values) FilterCriteriaBuilder Устанавливает значения для отображения в сводной таблице.
whenCellEmpty() FilterCriteriaBuilder Устанавливает критерии фильтра для отображения пустых ячеек.
whenCellNotEmpty() FilterCriteriaBuilder Устанавливает критерии фильтра для отображения непустых ячеек.
whenDateAfter(date) FilterCriteriaBuilder Устанавливает критерии фильтра, показывающие ячейки с датами после указанной даты.
whenDateAfter(date) FilterCriteriaBuilder Устанавливает критерии фильтра, которые отображают ячейки с датами после указанной относительной даты.
whenDateBefore(date) FilterCriteriaBuilder Устанавливает критерии фильтра, показывающие ячейки с датами, предшествующими указанной дате.
whenDateBefore(date) FilterCriteriaBuilder Устанавливает критерии фильтра, которые показывают ячейки с датами, предшествующими указанной относительной дате.
whenDateEqualTo(date) FilterCriteriaBuilder Устанавливает критерии фильтра, показывающие ячейки с датами, равными указанной дате.
whenDateEqualTo(date) FilterCriteriaBuilder Устанавливает критерии фильтра, показывающие ячейки с датами, равными указанной относительной дате.
whenDateEqualToAny(dates) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с датами, равными любой из указанных дат.
whenDateNotEqualTo(date) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек, которые не равны указанной дате.
whenDateNotEqualToAny(dates) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с датами, не равными ни одной из указанных дат.
whenFormulaSatisfied(formula) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с указанной формулой (например, =B:B<C:C ), которая имеет значение true .
whenNumberBetween(start, end) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с номером, который находится между двумя указанными числами или является одним из них.
whenNumberEqualTo(number) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с номером, равным указанному числу.
whenNumberEqualToAny(numbers) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с номером, равным любому из указанных чисел.
whenNumberGreaterThan(number) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с номером, превышающим указанное число.
whenNumberGreaterThanOrEqualTo(number) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с номером, большим или равным указанному числу.
whenNumberLessThan(number) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с номером, меньшим указанного.
whenNumberLessThanOrEqualTo(number) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с номером, меньшим или равным указанному числу.
whenNumberNotBetween(start, end) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек, число которых не находится между двумя указанными числами и не является ни одним из них.
whenNumberNotEqualTo(number) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с номером, не равным указанному числу.
whenNumberNotEqualToAny(numbers) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с номером, не равным ни одному из указанных чисел.
whenTextContains(text) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с текстом, содержащим указанный текст.
whenTextDoesNotContain(text) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с текстом, который не содержит указанный текст.
whenTextEndsWith(text) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с текстом, заканчивающимся указанным текстом.
whenTextEqualTo(text) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с текстом, равным указанному тексту.
whenTextEqualToAny(texts) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с текстом, равным любому из указанных текстовых значений.
whenTextNotEqualTo(text) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с текстом, не равным указанному тексту.
whenTextNotEqualToAny(texts) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с текстом, который не равен ни одному из указанных значений.
whenTextStartsWith(text) FilterCriteriaBuilder Устанавливает критерии фильтра для отображения ячеек с текстом, начинающимся с указанного текста.
withCriteria(criteria, args) FilterCriteriaBuilder Устанавливает критерий фильтра в логическое условие, определенное значениями BooleanCriteria , например CELL_EMPTY или NUMBER_GREATER_THAN .

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

build()

Собирает критерии фильтра с использованием настроек, которые вы добавляете в построитель критериев.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
const criteria = SpreadsheetApp
                     .newFilterCriteria()  // Creates a criteria builder.
                     .whenCellNotEmpty()   // Adds settings to the builder.
                     .build();             // Assembles the criteria.
filter.setColumnFilterCriteria(2, criteria);

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

FilterCriteria — Представление критериев фильтра.


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);

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

FilterCriteriaBuilder — Построитель критериев фильтра, основанный на этих критериях фильтра.


getCriteriaType()

Возвращает логический тип критерия, например CELL_EMPTY . Чтобы узнать о типах логических критериев, см. перечисление BooleanCriteria .

Люди часто используют этот метод для добавления критериев логического условия в фильтр без замены существующих критериев.

  • Чтобы получить аргументы для критериев, используйте getCriteriaValues() .
  • Чтобы использовать тип критерия и значения критериев для создания или изменения критериев фильтра, см. 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);

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

BooleanCriteria — Тип логического критерия или null , если критерий не является логическим условием.


getCriteriaValues()

Возвращает массив аргументов для логических критериев. Некоторые типы логических критериев не имеют аргументов и возвращают пустой массив, например CELL_NOT_EMPTY .

Люди часто используют этот метод для добавления критериев логического условия в фильтр без замены существующих критериев.

  • Чтобы получить логический тип критерия, используйте getCriteriaType() .
  • Чтобы использовать тип критерия и значения критериев для создания или изменения критериев фильтра, см. 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...() класса FilterCriteriaBuilder .


getHiddenValues()

Возвращает значения, скрытые фильтром.

Используйте этот критерий с фильтрами на листах 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[] — Массив значений, которые скрывает фильтр.


getVisibleBackgroundColor()

Возвращает цвет фона, используемый в качестве критерия фильтра. Ячейки с этим цветом фона остаются видимыми.

Используйте этот критерий с фильтрами на листах 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 — цвет фона, используемый в качестве критерия фильтра.


getVisibleForegroundColor()

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

Используйте этот критерий с фильтрами на листах 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 — цвет переднего плана, используемый в качестве критерия фильтра.


getVisibleValues()

Возвращает значения, отображаемые фильтром сводной таблицы.

Этот критерий предназначен только для фильтров сводных таблиц, которые не подключены к базе данных. Возвращает пустой массив для других типов фильтров.

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[] — Массив значений, отображаемых фильтром сводной таблицы.


setHiddenValues(values)

Устанавливает значения, которые нужно скрыть. Очищает все существующие видимые или скрытые значения.

Этот критерий можно использовать только для фильтров на листах Grid — типе листа по умолчанию.

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Sets the values to hide and applies the criteria to column C.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .setHiddenValues(['Hello', 'World'])
                     .build();
filter.setColumnFilterCriteria(3, criteria);

Параметры

Имя Тип Описание
values String[] Список значений, которые нужно скрыть.

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

FilterCriteriaBuilder — этот построитель для цепочки.

Броски

Error — если какое-либо из значений равно null .


setVisibleBackgroundColor(visibleBackgroundColor)

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

Этот критерий можно использовать только для фильтров на листах Grid — типе листа по умолчанию.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that filters by background color and sets it to column B.
const color = SpreadsheetApp.newColor().setRgbColor('#185ABC').build();
const criteria =
    SpreadsheetApp.newFilterCriteria().setVisibleBackgroundColor(color).build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
visibleBackgroundColor Color Цвет фона, который нужно установить. Цвет должен быть цветом в стиле RGB. Этот метод не поддерживает цвета темы.

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

FilterCriteriaBuilder — этот построитель для цепочки.


setVisibleForegroundColor(visibleForegroundColor)

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

Этот критерий можно использовать только для фильтров на листах Grid — типе листа по умолчанию.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that filters by foreground color and sets it to column B.
const color = SpreadsheetApp.newColor().setRgbColor('#185ABC').build();
const criteria =
    SpreadsheetApp.newFilterCriteria().setVisibleForegroundColor(color).build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
visibleForegroundColor Color Цвет переднего плана, который нужно установить. Цвет должен быть цветом в стиле RGB. Этот метод не поддерживает цвета темы.

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

FilterCriteriaBuilder — этот построитель для цепочки.


setVisibleValues(values)

Устанавливает значения для отображения в сводной таблице. Очищает все существующие видимые или скрытые значения.

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

// Gets the active sheet.
const ss = SpreadsheetApp.getActiveSheet();
// Gets the first pivot table on the sheet and adds a filter to it that
// sets the visible values to "Northeast" and "Southwest."
const pivotTable = ss.getPivotTables()[0];
const criteria = SpreadsheetApp.newFilterCriteria()
                     .setVisibleValues(['Northeast', 'Southwest'])
                     .build();
pivotTable.addFilter(2, criteria);

Параметры

Имя Тип Описание
values String[] Список значений для отображения.

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

FilterCriteriaBuilder — этот построитель для цепочки.

Броски

Error — если какое-либо из значений равно null .


whenCellEmpty()

Устанавливает критерии фильтра для отображения пустых ячеек.

Вы можете использовать этот критерий с любым типом фильтра.

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Sets criteria to column B that only shows empty cells.
const criteria = SpreadsheetApp.newFilterCriteria().whenCellEmpty().build();
filter.setColumnFilterCriteria(2, criteria);

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenCellNotEmpty()

Устанавливает критерии фильтра для отображения непустых ячеек.

Вы можете использовать этот критерий с любым типом фильтра.

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Sets criteria to column B that only shows cells that aren't empty.
const criteria = SpreadsheetApp.newFilterCriteria().whenCellNotEmpty().build();
filter.setColumnFilterCriteria(2, criteria);

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenDateAfter(date)

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

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

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates after June 1, 2022
// and sets it to column A.
const date = new Date('June 1, 2022');
const criteria = SpreadsheetApp.newFilterCriteria().whenDateAfter(date).build();
filter.setColumnFilterCriteria(1, criteria);

Параметры

Имя Тип Описание
date Date Последняя дата, которую нужно скрыть.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenDateAfter(date)

Устанавливает критерии фильтра, которые показывают ячейки с датами после указанной относительной даты. Чтобы просмотреть параметры относительной даты, обратитесь к Enum RelativeDate .

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

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates after today's date
// and sets it to column A.

const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateAfter(SpreadsheetApp.RelativeDate.TODAY)
                     .build();
filter.setColumnFilterCriteria(1, criteria);

Параметры

Имя Тип Описание
date RelativeDate Последняя относительная дата.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenDateBefore(date)

Устанавливает критерии фильтра, показывающие ячейки с датами, предшествующими указанной дате.

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

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates before June 1, 2022
// and sets it to column A.
const date = new Date('June 1, 2022');
const criteria =
    SpreadsheetApp.newFilterCriteria().whenDateBefore(date).build();
filter.setColumnFilterCriteria(1, criteria);

Параметры

Имя Тип Описание
date Date Самая ранняя дата, которую нужно скрыть.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenDateBefore(date)

Устанавливает критерии фильтра, которые показывают ячейки с датами, предшествующими указанной относительной дате. Чтобы просмотреть параметры относительной даты, обратитесь к Enum RelativeDate .

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

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates before today's date
// and sets it to column A.

const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateBefore(SpreadsheetApp.RelativeDate.TODAY)
                     .build();
filter.setColumnFilterCriteria(1, criteria);

Параметры

Имя Тип Описание
date RelativeDate Самая ранняя относительная дата, которую нужно скрыть.

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

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


whenDateEqualTo(date)

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

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

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates equal to June 1, 2022
// and sets it to column A.
const date = new Date('June 1, 2022');
const criteria =
    SpreadsheetApp.newFilterCriteria().whenDateEqualTo(date).build();
filter.setColumnFilterCriteria(1, criteria);

Параметры

Имя Тип Описание
date Date Дата, которой должны совпадать значения ячеек.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenDateEqualTo(date)

Устанавливает критерии фильтра, показывающие ячейки с датами, равными указанной относительной дате. Чтобы просмотреть параметры относительной даты, обратитесь к Enum RelativeDate .

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

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
const filter = range.getFilter();
// Creates criteria that only shows cells with dates that fall within the past
// month and sets it to column A.

const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateEqualTo(SpreadsheetApp.RelativeDate.PAST_MONTH)
                     .build();
filter.setColumnFilterCriteria(1, criteria);

Параметры

Имя Тип Описание
date RelativeDate Относительная дата, которой должны соответствовать значения ячеек.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenDateEqualToAny(dates)

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

Этот критерий можно использовать только с данными, подключенными к базе данных. Например, используйте этот критерий с фильтрами на листе DataSource , листе, подключенном к базе данных, или DataSourcePivotTable — сводной таблице, созданной на основе листа DataSource .

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "date" column that shows cells with any of the below
// dates.
const date1 = new Date('June 1, 2022');
const date2 = new Date('June 2, 2022');
const date3 = new Date('June 3, 2022');
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateEqualToAny([date1, date2, date3])
                     .build();
dataSheet.addFilter('date', criteria);

Параметры

Имя Тип Описание
dates Date[] Даты показа.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenDateNotEqualTo(date)

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

Этот критерий можно использовать только с данными, подключенными к базе данных. Например, используйте этот критерий с фильтрами на листе DataSource , листе, подключенном к базе данных, или DataSourcePivotTable — сводной таблице, созданной на основе листа DataSource .

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

// Gets a pivot table that's connected to a database.
const ss =
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Pivot Table Sheet');
const dataPivotTable = ss.getDataSourcePivotTables()[0];
// Creates criteria that only shows cells that don't equal June 16, 2022
// and sets it to the "date" column.
const date = new Date('June 16, 2022');
const criteria =
    SpreadsheetApp.newFilterCriteria().whenDateNotEqualTo(date).build();
dataPivotTable.addFilter('date', criteria);

Параметры

Имя Тип Описание
date Date Дата, которую нужно скрыть.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenDateNotEqualToAny(dates)

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

Этот критерий можно использовать только с данными, подключенными к базе данных. Например, используйте этот критерий с фильтрами на листе DataSource , листе, подключенном к базе данных, или DataSourcePivotTable — сводной таблице, созданной на основе листа DataSource .

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "date" column that hides cells with any of the below
// dates.
const date1 = new Date('June 1, 2022');
const date2 = new Date('June 2, 2022');
const date3 = new Date('June 3, 2022');
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenDateNotEqualToAny([date1, date2, date3])
                     .build();
dataSheet.addFilter('date', criteria);

Параметры

Имя Тип Описание
dates Date[] Даты, которые нужно скрыть.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenFormulaSatisfied(formula)

Устанавливает критерии фильтра для отображения ячеек с указанной формулой (например, =B:B<C:C ), которая имеет значение true .

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

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows the rows where the value in column B is less than
// the value in column C and sets it to column A.
const formula = '=B:B<C:C';
const criteria =
    SpreadsheetApp.newFilterCriteria().whenFormulaSatisfied(formula).build();
filter.setColumnFilterCriteria(1, criteria);

Параметры

Имя Тип Описание
formula String Пользовательская формула, которая возвращает true если введенные данные действительны.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenNumberBetween(start, end)

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

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

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that only shows cells with numbers that fall between 1-25,
// inclusively, and sets it to column A.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberBetween(1, 25).build();
filter.setColumnFilterCriteria(1, criteria);

Параметры

Имя Тип Описание
start Number Наименьшее число для отображения.
end Number Наибольшее число для отображения.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenNumberEqualTo(number)

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

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

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that only shows cells that are equal to 25 and sets it to
// column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberEqualTo(25).build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
number Number Число, которое нужно показать.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenNumberEqualToAny(numbers)

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

Этот критерий можно использовать только с данными, подключенными к базе данных. Например, используйте этот критерий с фильтрами на листе DataSource , листе, подключенном к базе данных, или DataSourcePivotTable — сводной таблице, созданной на основе листа DataSource .

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "amount" column that only shows cells with the number
// 10, 20, or 30.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenNumberEqualToAny([10, 20, 30])
                     .build();
dataSheet.addFilter('amount', criteria);

Параметры

Имя Тип Описание
numbers Number[] Цифры, которые нужно показать.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenNumberGreaterThan(number)

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

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

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells greater than 10 and sets it to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberGreaterThan(10).build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
number Number Наибольшее число, которое нужно скрыть.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenNumberGreaterThanOrEqualTo(number)

Устанавливает критерии фильтра для отображения ячеек с номером, большим или равным указанному числу.

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

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells greater than or equal to 10 and sets it to
// column B.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenNumberGreaterThanOrEqualTo(10)
                     .build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
number Number Наименьшее число для отображения.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenNumberLessThan(number)

Устанавливает критерии фильтра для отображения ячеек с номером, меньшим указанного.

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

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells less than 10 and sets it to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberLessThan(10).build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
number Number Наименьшее число, которое нужно скрыть.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenNumberLessThanOrEqualTo(number)

Устанавливает критерии фильтра для отображения ячеек с номером, меньшим или равным указанному числу.

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

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells less than or equal to 10 and sets it to
// column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberLessThanOrEqualTo(10).build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
number Number Наибольшее число для отображения.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenNumberNotBetween(start, end)

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

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

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that hides cells with numbers that fall between 1-25,
// inclusively, and sets it to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberNotBetween(1, 25).build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
start Number Наименьшее число скрывают.
end Number Наибольшее число, которое нужно скрыть.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenNumberNotEqualTo(number)

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

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

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that hides cells that are equal to 25 and sets it to column
// B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenNumberNotEqualTo(25).build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
number Number Номер, который нужно скрыть.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenNumberNotEqualToAny(numbers)

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

Этот критерий можно использовать только с данными, подключенными к базе данных. Например, используйте этот критерий с фильтрами на листе DataSource , листе, подключенном к базе данных, или DataSourcePivotTable — сводной таблице, созданной на основе листа DataSource .

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "amount" column that hides cells with the number 10, 20,
// or 30.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenNumberNotEqualToAny([10, 20, 30])
                     .build();
dataSheet.addFilter('amount', criteria);

Параметры

Имя Тип Описание
numbers Number[] Цифры, которые нужно скрыть.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenTextContains(text)

Устанавливает критерии фильтра для отображения ячеек с текстом, содержащим указанный текст. Текст не чувствителен к регистру.

Вы можете использовать этот критерий с любым типом фильтра.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells that contain "Northwest" and sets it to
// column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextContains('Northwest').build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
text String Текст, который должна содержать ячейка.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenTextDoesNotContain(text)

Устанавливает критерии фильтра для отображения ячеек с текстом, который не содержит указанный текст. Текст не чувствителен к регистру.

Вы можете использовать этот критерий с любым типом фильтра.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that hides cells that contain "Northwest" and sets it to
// column B.
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenTextDoesNotContain('Northwest')
                     .build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
text String Текст, который ячейка не должна содержать.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenTextEndsWith(text)

Устанавливает критерии фильтра для отображения ячеек с текстом, заканчивающимся указанным текстом. Текст не чувствителен к регистру.

Вы можете использовать этот критерий с любым типом фильтра.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells with text that ends with "est" and sets it
// to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextEndsWith('est').build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
text String Текст, который должен содержать конец текста ячейки.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenTextEqualTo(text)

Устанавливает критерии фильтра для отображения ячеек с текстом, равным указанному тексту. Текст не чувствителен к регистру.

Вы можете использовать этот критерий с любым типом фильтра.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells with text that equals "hello" and sets it
// to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextEqualTo('hello').build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
text String Текст, которому должен соответствовать текст ячейки.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenTextEqualToAny(texts)

Устанавливает критерии фильтра для отображения ячеек с текстом, равным любому из указанных текстовых значений. Текст не чувствителен к регистру.

Этот критерий можно использовать только с данными, подключенными к базе данных. Например, используйте этот критерий с фильтрами на листе DataSource , листе, подключенном к базе данных, или DataSourcePivotTable — сводной таблице, созданной на основе листа DataSource .

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "category" column that shows cells with the text "tech"
// or "business."
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenTextEqualToAny(['tech', 'business'])
                     .build();
dataSheet.addFilter('category', criteria);

Параметры

Имя Тип Описание
texts String[] Текстовые значения, которым должна соответствовать ячейка.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenTextNotEqualTo(text)

Устанавливает критерии фильтра для отображения ячеек с текстом, не равным указанному тексту. Текст не чувствителен к регистру.

Этот критерий можно использовать только с данными, подключенными к базе данных. Например, используйте этот критерий с фильтрами на листе DataSource , листе, подключенном к базе данных, или DataSourcePivotTable — сводной таблице, созданной на основе листа DataSource .

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "category" column that hides cells with text equal to
// "tech."
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextNotEqualTo('tech').build();
dataSheet.addFilter('category', criteria);

Параметры

Имя Тип Описание
text String Текст, которому не может соответствовать текст ячейки.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenTextNotEqualToAny(texts)

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

Этот критерий можно использовать только с данными, подключенными к базе данных. Например, используйте этот критерий с фильтрами на листе DataSource , листе, подключенном к базе данных, или DataSourcePivotTable — сводной таблице, созданной на основе листа DataSource .

// Gets the sheet that's connected to a database.
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Data Sheet');
const dataSheet = ss.asDataSourceSheet();
// Adds criteria to the "category" column that hides cells with the text "tech"
// or "business."
const criteria = SpreadsheetApp.newFilterCriteria()
                     .whenTextNotEqualToAny(['tech', 'business'])
                     .build();
dataSheet.addFilter('category', criteria);

Параметры

Имя Тип Описание
texts String[] Текстовые значения, которым не может соответствовать ячейка.

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

FilterCriteriaBuilder — этот построитель для цепочки.


whenTextStartsWith(text)

Устанавливает критерии фильтра для отображения ячеек с текстом, начинающимся с указанного текста. Текст не чувствителен к регистру.

Вы можете использовать этот критерий с любым типом фильтра.

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Creates criteria that shows cells with text that starts with "pre" and sets
// it to column B.
const criteria =
    SpreadsheetApp.newFilterCriteria().whenTextStartsWith('pre').build();
filter.setColumnFilterCriteria(2, criteria);

Параметры

Имя Тип Описание
text String Текст, который должно содержать начало текста ячейки.

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

FilterCriteriaBuilder — этот построитель для цепочки.


withCriteria(criteria, args)

Устанавливает критерий фильтра в логическое условие, определенное значениями BooleanCriteria , например CELL_EMPTY или NUMBER_GREATER_THAN . Чтобы скопировать логическое условие из существующих критериев, определите параметры для этого метода с помощью getCriteriaType() и getCriteriaValues() для существующих критериев.

Вы можете использовать этот критерий с любым типом фильтра, но некоторые BooleanCriteria применимы не ко всем фильтрам.

// Builds a filter criteria that is based on existing boolean conditions from
// another criteria. Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
// Gets the existing boolean conditions applied to Column B and adds criteria to
// column C that has the same boolean conditions and additional criteria that
// hides the value, "Northwest."
const filterCriteria = filter.getColumnFilterCriteria(2);
const criteria = SpreadsheetApp.newFilterCriteria()
                     .withCriteria(
                         filterCriteria.getCriteriaType(),
                         filterCriteria.getCriteriaValues(),
                         )
                     .setHiddenValues(['Northwest'])
                     .build();
filter.setColumnFilterCriteria(3, criteria);

Параметры

Имя Тип Описание
criteria BooleanCriteria Тип логического критерия.
args Object[] Массив аргументов, соответствующих типу критерия; количество аргументов и их тип соответствуют соответствующим методам when...() указанным выше.

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

FilterCriteriaBuilder — этот построитель для цепочки.