Условное форматирование позволяет форматировать ячейки таким образом, чтобы их внешний вид динамически изменялся в зависимости от содержащегося в них значения или значений в других ячейках. Существует множество возможных применений условного форматирования, включая следующие:
- Выделите ячейки, сумма которых превышает определенный порог (например, выделите жирным шрифтом все транзакции на сумму более 2000 долларов).
- Отформатируйте ячейки так, чтобы их цвет менялся в зависимости от значения (например, применяйте более насыщенный красный фон по мере увеличения суммы свыше 2000 долларов).
- Динамическое форматирование ячеек на основе содержимого других ячеек (например, выделение адреса объектов недвижимости, у которых поле «время на рынке» превышает 90 дней).
Вы даже можете форматировать ячейки на основе их значений и значений других ячеек. Например, вы можете отформатировать диапазон ячеек, сравнивая их значения со средним значением этого диапазона:

Рисунок 1. Форматирование для выделения значений выше или ниже медианного возраста.
В этом примере ячейки в каждой строке форматируются в соответствии со значением в столбце age по сравнению со средним значением всех возрастов. Строки, возраст которых выше среднего, имеют красный текст, а строки, возраст которых ниже среднего, — красный фон. В двух строках значение age совпадает со средним возрастом (48), и эти ячейки не получают специального форматирования. (Исходный код, создающий это условное форматирование, см. в примере ниже.)
Правила условного форматирования
Условное форматирование выражается с помощью правил форматирования . Каждая электронная таблица хранит список этих правил и применяет их в том же порядке, в котором они указаны в списке. API Google Sheets позволяет добавлять, обновлять и удалять эти правила форматирования.
Каждое правило задает целевой диапазон, тип правила, условия для его срабатывания и любое применяемое форматирование.
Целевой диапазон — это может быть одна ячейка, диапазон ячеек или несколько диапазонов.
Типы правил — Существует две категории правил:
- Логические правила применяют формат только при соблюдении определенных критериев.
- Правила градиента вычисляют цвет фона ячейки на основе значения этой ячейки.
Условия, которые оцениваются, и форматы, которые вы можете применять, различаются для каждого из этих типов правил, как подробно описано в следующих разделах.
Логические правила
Класс BooleanRule определяет, следует ли применять определенный формат, на основе условия BooleanCondition , которое принимает значение true или false . Правило Boolean имеет следующий вид:
{
"condition": {
object(BooleanCondition)
},
"format": {
object(CellFormat)
},
}
В качестве условия можно использовать встроенный ConditionType , или же пользовательскую формулу для более сложных вычислений.
Встроенные типы позволяют применять форматирование в соответствии с числовыми порогами, сравнением текста или заполненностью ячейки. Например, NUMBER_GREATER означает, что значение ячейки должно быть больше значения условия. Правила всегда оцениваются по отношению к целевой ячейке.
Пользовательская формула — это особый тип условия, позволяющий применять форматирование в соответствии с произвольным выражением, при этом допускается оценка любой ячейки, а не только целевой. Формула условия должна возвращать значение true .
Для определения форматирования, применяемого логическим правилом, используется подмножество типа CellFormat , которое определяет:
- Выделение текста в ячейке жирным шрифтом, курсивом или зачеркиванием.
- Цвет текста в ячейке.
- Цвет фона ячейки.
Правила градиента
Класс GradientRule определяет диапазон цветов, соответствующих диапазону значений. Правило градиента имеет следующий вид:
{
"minpoint": {
object(InterpolationPoint)
},
"midpoint": {
object(InterpolationPoint)
},
"maxpoint": {
object(InterpolationPoint)
},
}
Каждая InterpolationPoint определяет цвет и соответствующее ему значение. Набор из трех точек определяет цветовой градиент.
Управление правилами условного форматирования
Для создания, изменения или удаления правил условного форматирования используйте метод spreadsheets.batchUpdate с соответствующим типом запроса:
Добавьте правила в список по указанному индексу, используя метод
AddConditionalFormatRuleRequest.Замените или измените порядок правил в списке по указанному индексу, используя метод
UpdateConditionalFormatRuleRequest.Удалите правила из списка по указанному индексу, используя
DeleteConditionalFormatRuleRequest.
Пример
В следующем примере показано, как создать условное форматирование, представленное на скриншоте в верхней части этой страницы. Дополнительные примеры см. на странице «Примеры условного форматирования» .