Class FilterCriteriaBuilder

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
FilterCriteriaBuilder

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

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

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

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

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

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

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

Методы

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

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

build()

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

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

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

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


copy()

Копирует этот критерий фильтра и создает построитель критериев, который можно применить к другому фильтру.

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

let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Makes a copy of the filter criteria applied to column C.
let criteria = filter.getColumnFilterCriteria(3).copy().build();
// Applies the copied criteria to column B. The copied criteria overwrites any existing
// criteria on column B.
filter.setColumnFilterCriteria(2, criteria);

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

FilterCriteriaBuilder — Построитель критериев фильтра на основе этого критерия фильтра.


getCriteriaType()

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

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

  • Чтобы получить аргументы для критериев, используйте getCriteriaValues() .
  • Чтобы использовать тип и значения критериев для создания или изменения критериев фильтрации, см. withCriteria(criteria, args) .

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

let ss = SpreadsheetApp.getActiveSheet();
// Gets the filter on the active sheet.
let filter = ss.getFilter();
// Gets the criteria type and returns a string representing the criteria type object.
let criteriaType = filter.getColumnFilterCriteria(2)
                         .getCriteriaType()
                         .toString();
// Logs the criteria type.
console.log(criteriaType);

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

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


getCriteriaValues()

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

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

  • Чтобы получить тип логического критерия, используйте getCriteriaType() .
  • Чтобы использовать тип и значения критериев для создания или изменения условий фильтра, см. withCriteria(criteria, args) .

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

    let ss = SpreadsheetApp.getActiveSheet();
    let filter = ss.getFilter();
    // Gets the values of the boolean criteria and logs them. For example, if the boolean
    // condition is whenNumberGreaterThan(10), then the logged value is 10.
    let criteriaValues = filter.getColumnFilterCriteria(2).getCriteriaValues();
    console.log(criteriaValues);

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

    Object[] — Массив аргументов, соответствующих типу логического критерия. Количество аргументов и их тип соответствуют соответствующему методу when...() класса FilterCriteriaBuilder .


getHiddenValues()

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

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

let ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Gets the filter criteria applied to column B, then gets the hidden values.
let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
// Logs the hidden values.
console.log(filterCriteria);

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

String[] — Массив значений, которые скрывает фильтр.


getVisibleBackgroundColor()

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

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

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

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

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


getVisibleForegroundColor()

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

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

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

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

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


getVisibleValues()

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

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

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

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

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


setHiddenValues(values)

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

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

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

Параметры

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

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

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


setVisibleBackgroundColor(visibleBackgroundColor)

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

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

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

Параметры

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

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

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


setVisibleForegroundColor(visibleForegroundColor)

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

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

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

Параметры

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

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

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


setVisibleValues(values)

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

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

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

Параметры

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

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

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


whenCellEmpty()

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

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

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

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

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


whenCellNotEmpty()

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

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

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

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

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


whenDateAfter(date)

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

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

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

Параметры

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

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

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


whenDateAfter(date)

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

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

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

Параметры

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

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

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


whenDateBefore(date)

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

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

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

Параметры

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

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

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


whenDateBefore(date)

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

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

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

Параметры

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

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

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


whenDateEqualTo(date)

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

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

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

Параметры

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

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

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


whenDateEqualTo(date)

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

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

// Gets the existing filter on the range.
const ss = SpreadsheetApp.getActiveSheet();
let range = ss.getRange("A1:C20");
let filter = range.getFilter();
// Creates criteria that only shows cells with dates that fall within the past month
// and sets it to column A.
let date = SpreadsheetApp.RelativeDate.PAST_MONTH;
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenDateEqualTo(date)
                             .build();
filter.setColumnFilterCriteria(1, criteria);

Параметры

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

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

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


whenDateEqualToAny(dates)

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

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

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

Параметры

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

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

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


whenDateNotEqualTo(date)

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

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

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

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

Параметры

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

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

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


whenDateNotEqualToAny(dates)

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

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

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

Параметры

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

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

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


whenFormulaSatisfied(formula)

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

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

// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
let 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.
let formula = "=B:B<C:C";
let criteria = SpreadsheetApp.newFilterCriteria()
                             .whenFormulaSatisfied(formula)
                             .build();
filter.setColumnFilterCriteria(1, criteria);

Параметры

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

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

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


whenNumberBetween(start, end)

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

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

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

Параметры

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

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

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


whenNumberEqualTo(number)

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

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

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

Параметры

Имя Тип Описание
number Number Номер для показа.

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

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


whenNumberEqualToAny(numbers)

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

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

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

Параметры

Имя Тип Описание
numbers Number[] Цифры для показа.

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

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


whenNumberGreaterThan(number)

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

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

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

Параметры

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

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

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


whenNumberGreaterThanOrEqualTo(number)

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

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

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

Параметры

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

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

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


whenNumberLessThan(number)

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

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

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

Параметры

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

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

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


whenNumberLessThanOrEqualTo(number)

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

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

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

Параметры

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

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

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


whenNumberNotBetween(start, end)

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

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

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

Параметры

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

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

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


whenNumberNotEqualTo(number)

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

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

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

Параметры

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

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

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


whenNumberNotEqualToAny(numbers)

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

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

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

Параметры

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

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

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


whenTextContains(text)

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

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

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

Параметры

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

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

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


whenTextDoesNotContain(text)

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

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

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

Параметры

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

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

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


whenTextEndsWith(text)

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

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

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

Параметры

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

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

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


whenTextEqualTo(text)

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

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

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

Параметры

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

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

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


whenTextEqualToAny(texts)

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

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

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

Параметры

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

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

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


whenTextNotEqualTo(text)

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

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

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

Параметры

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

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

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


whenTextNotEqualToAny(texts)

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

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

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

Параметры

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

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

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


whenTextStartsWith(text)

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

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

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

Параметры

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

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

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


withCriteria(criteria, args)

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

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

// Builds a filter criteria that is based on existing boolean conditions from another criteria.
// Gets the existing filter on the sheet.
const ss = SpreadsheetApp.getActiveSheet();
let 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."
let filter = ss.getFilter();
let filterCriteria = filter.getColumnFilterCriteria(2);
let criteria = SpreadsheetApp.newFilterCriteria()
    .withCriteria(filterCriteria.getCriteriaType(), filterCriteria.getCriteriaValues())
    .setHiddenValues(["Northwest"])
    .build();
filter.setColumnFilterCriteria(3, criteria);

Параметры

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

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

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