Class FilterCriteriaBuilder

Конструктор критериев фильтрации

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

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

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

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

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

Отображать только непустые ячейки

В следующем примере на лист Data Source , подключенный к базе данных, добавляется фильтр, который отображает только непустые ячейки в столбце «Категория».
// 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() Filter Criteria Формирует критерии фильтрации, используя настройки, добавленные вами в конструктор критериев.
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[] Возвращает значения, отображаемые фильтром сводной таблицы.
set Hidden Values(values) Filter Criteria Builder Задает значения, которые нужно скрыть.
set Visible Background Color(visibleBackgroundColor) Filter Criteria Builder Задает цвет фона, используемый в качестве критерия фильтра.
set Visible Foreground Color(visibleForegroundColor) Filter Criteria Builder Задает цвет переднего плана, используемый в качестве критерия фильтра.
set Visible Values(values) Filter Criteria Builder Задает значения, которые будут отображаться в сводной таблице.
when Cell Empty() Filter Criteria Builder Задает критерии фильтрации для отображения пустых ячеек.
when Cell Not Empty() Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, которые не являются пустыми.
when Date After(date) Filter Criteria Builder Задает критерии фильтрации, которые отображают ячейки с датами, находящимися после указанной даты.
when Date After(date) Filter Criteria Builder Задает критерии фильтрации, которые отображают ячейки с датами, находящимися после указанной относительной даты.
when Date Before(date) Filter Criteria Builder Задает критерии фильтрации, которые отображают ячейки с датами, предшествующими указанной дате.
when Date Before(date) Filter Criteria Builder Задает критерии фильтрации, которые отображают ячейки с датами, предшествующими указанной относительной дате.
when Date Equal To(date) Filter Criteria Builder Задает критерии фильтрации, которые отображают ячейки с датами, равными указанной дате.
when Date Equal To(date) Filter Criteria Builder Задает критерии фильтрации, которые отображают ячейки с датами, равными указанной относительной дате.
when Date Equal To Any(dates) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек с датами, равными любой из указанных дат.
when Date Not Equal To(date) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, не равных указанной дате.
when Date Not Equal To Any(dates) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек с датами, которые не равны ни одной из указанных дат.
when Formula Satisfied(formula) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек с указанной формулой (например =B:B<C:C ), которая принимает значение true .
when Number Between(start, end) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, в которых число находится между двумя указанными числами или является одним из них.
when Number Equal To(number) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, в которых число равно указанному числу.
when Number Equal To Any(numbers) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, в которых число равно любому из указанных чисел.
when Number Greater Than(number) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, число в которых превышает указанное значение.
when Number Greater Than Or Equal To(number) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, число в которых больше или равно указанному числу.
when Number Less Than(number) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, число в которых меньше указанного значения.
when Number Less Than Or Equal To(number) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, в которых число меньше или равно указанному числу.
when Number Not Between(start, end) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, в которых число не находится между двумя указанными числами и не является ни одним из них.
when Number Not Equal To(number) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, число в которых не равно указанному числу.
when Number Not Equal To Any(numbers) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, в которых число не равно ни одному из указанных чисел.
when Text Contains(text) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, содержащих текст с указанным значением.
when Text Does Not Contain(text) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, содержащих текст, не включающий указанный текст.
when Text Ends With(text) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, текст в которых заканчивается указанным текстом.
when Text Equal To(text) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, текст в которых равен указанному тексту.
when Text Equal To Any(texts) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, текст в которых равен любому из указанных текстовых значений.
when Text Not Equal To(text) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, текст в которых не равен указанному тексту.
when Text Not Equal To Any(texts) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, текст в которых не равен ни одному из указанных значений.
when Text Starts With(text) Filter Criteria Builder Задает критерии фильтрации для отображения ячеек, текст в которых начинается с указанного значения.
with Criteria(criteria, args) Filter Criteria Builder Устанавливает критерии фильтрации в соответствии с логическим условием, определяемым значениями Boolean Criteria , такими как 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);

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

Filter Criteria — представление критериев фильтрации.


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() .
  • Чтобы использовать тип критериев и значения критериев для создания или изменения критериев фильтрации, см. with Criteria(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() .
  • Чтобы использовать тип критериев и значения критериев для создания или изменения критериев фильтра, см. with Criteria(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[] — массив значений, отображаемых фильтром сводной таблицы.


set Hidden Values(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[] Список значений, которые следует скрыть.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.

Броски

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


set Visible Background Color(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);

Параметры

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

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


set Visible Foreground Color(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);

Параметры

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

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


set Visible Values(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[] Список значений для отображения.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.

Броски

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


when Cell Empty()

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

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

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

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Cell Not Empty()

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

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

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

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Date After(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 Последняя дата, когда можно спрятаться.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Date After(date)

Задает критерии фильтрации, которые отображают ячейки с датами, находящимися после указанной относительной даты. Чтобы просмотреть параметры относительной даты, см. перечисление Relative 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 today's date
// and sets it to column A.

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

Параметры

Имя Тип Описание
date Relative Date Самая поздняя относительная дата.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Date Before(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 Самая ранняя дата, когда удалось спрятаться.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Date Before(date)

Задает критерии фильтрации, отображающие ячейки с датами, предшествующими указанной относительной дате. Для просмотра параметров относительной даты см. перечисление Relative 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 today's date
// and sets it to column A.

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

Параметры

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

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Date Equal To(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 Дата, на которую должны совпадать значения ячеек.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Date Equal To(date)

Задает критерии фильтрации, отображающие ячейки с датами, равными указанной относительной дате. Чтобы просмотреть параметры относительной даты, см. перечисление « Relative 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 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 Relative Date Относительная дата, с которой должны совпадать значения ячеек.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Date Equal To Any(dates)

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

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

// 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[] Даты для показа.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Date Not Equal To(date)

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

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

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

// 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 Дата, когда нужно спрятаться.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Date Not Equal To Any(dates)

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

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

// 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[] Даты, которые нужно скрыть.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Formula Satisfied(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 , если входные данные допустимы.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Number Between(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 Максимальное отображаемое число.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Number Equal To(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 Число для отображения.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Number Equal To Any(numbers)

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

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

// 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[] Цифры для наглядности.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Number Greater Than(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 Максимальное число, которое нужно скрыть.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Number Greater Than Or Equal To(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 Наименьшее число для отображения.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Number Less Than(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 Минимальное число для скрытия.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Number Less Than Or Equal To(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 Максимальное отображаемое число.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Number Not Between(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 Максимальное число, которое нужно скрыть.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Number Not Equal To(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 Номер, который нужно скрыть.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Number Not Equal To Any(numbers)

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

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

// 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[] Цифры, которые нужно скрыть.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Text Contains(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 Текст, который должна содержать ячейка.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Text Does Not Contain(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 Текст, который ячейка не должна содержать.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Text Ends With(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 Текст, который должен содержаться в конце текста ячейки.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Text Equal To(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 Текст, которому должен соответствовать текст в ячейке.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Text Equal To Any(texts)

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

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

// 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[] Текстовые значения, которым должна равняться ячейка.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Text Not Equal To(text)

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

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

// 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 Текст, которому текст ячейки не может соответствовать.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Text Not Equal To Any(texts)

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

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

// 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[] Текстовые значения, которым ячейка не может быть равна.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


when Text Starts With(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 Текст, который должен начинаться с текста в ячейке.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.


with Criteria(criteria, args)

Устанавливает критерии фильтрации в соответствии с логическим условием, определяемым значениями Boolean Criteria , такими как CELL_EMPTY или NUMBER_GREATER_THAN . Чтобы скопировать логическое условие из существующих критериев, определите параметры для этого метода, используя методы get Criteria Type() и get Criteria Values() для существующих критериев.

Этот критерий можно использовать с любым типом фильтра, но некоторые Boolean Criteria неприменимы ко всем фильтрам.

// 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 Boolean Criteria Тип булевых критериев.
args Object[] Массив аргументов, соответствующих типу критерия; количество аргументов и их тип соответствуют соответствующим методам when...() описанным выше.

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

Filter Criteria Builder — Этот конструктор предназначен для создания цепочек фильтров.