Чтобы добавить критерии к фильтру, необходимо сделать следующее:
- Создайте построитель критериев с помощью
SpreadsheetApp.newFilterCriteria()
. - Добавьте настройки в билдер, используя методы из этого класса.
- Используйте
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
— этот построитель для цепочки.