Class FilterCriteriaBuilder

Построитель критериев фильтра

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

  1. Создайте построитель критериев, используя Spreadsheet App.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);

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

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


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


get Visible Foreground Color()

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

Используйте этот критерий с фильтрами на листах Grid (тип листа по умолчанию). Возвращает значение null если вы вызываете этот метод для других типов фильтров.

const ss = SpreadsheetApp.getActiveSheet();
const range = ss.getRange('A1:C20');
// Logs the foreground color that column B is filtered by as a hexadecimal
// string.
const filter = range.getFilter();
const color = filter.getColumnFilterCriteria(2)
                  .getVisibleForegroundColor()
                  .asRgbColor()
                  .asHexString();
console.log(color);

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

Color — цвет переднего плана, используемый в качестве критерия фильтра.


get Visible Values()

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

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

const ss = SpreadsheetApp.getActiveSheet();
// Gets the first pivot table on the sheet, then gets the visible values of its
// first filter.
const pivotTable = ss.getPivotTables()[0];
const pivotFilterValues =
    pivotTable.getFilters()[0].getFilterCriteria().getVisibleValues();
// Logs the visible values.
console.log(pivotFilterValues);

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

String[] — Массив значений, отображаемых фильтром сводной таблицы.


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)

Устанавливает критерии фильтра, которые отображают ячейки с датами после указанной относительной даты. Чтобы просмотреть параметры относительной даты, обратитесь к Enum 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)

Устанавливает критерии фильтра, которые показывают ячейки с датами, предшествующими указанной относительной дате. Чтобы просмотреть параметры относительной даты, обратитесь к Enum 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)

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