Условное форматирование на основе значения другой ячейки

490

Я использую Google Sheets для ежедневной панели. Что мне нужно, это изменить цвет фона ячейки B5 на основе значения другой ячейки - C5. Если C5 больше 80%, тогда цвет фона зеленый, но если он ниже, он будет янтарным / красным.

Это доступно с помощью функции Google Sheets или мне нужно вставить скрипт?

Марк Магалона
источник
4
Пока вы не перейдете на новые листы, адаптируйте один из сценариев из этого ответа, используя onEditтриггер или этот ответ, который этого не делает.
Могсдад

Ответы:

535

Примечание. Когда в приведенном ниже пояснении указано «B5», на самом деле это означает «B {current_row}», поэтому для C5 это B5, для C6 - B6 и так далее. Если вы не укажете $ B $ 5 - тогда вы ссылаетесь на одну конкретную ячейку.


Это поддерживается в Google Sheets с 2015 года: https://support.google.com/drive/answer/78413#formulas

В вашем случае вам нужно будет установить условное форматирование на B5.

  • Используйте опцию « Пользовательская формула » и установите для нее значение =B5>0.8*C5.
  • установите опцию « Диапазон » на B5.
  • установить желаемый цвет

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

Более того, примените одно правило ко всем строкам, используя диапазоны в « Range ». Пример, предполагающий, что первая строка является заголовком:

  • В условном форматировании B2 установите для « Пользовательская формула » значение =B2>0.8*C2.
  • установите опцию « Диапазон » на B2:B.
  • установить желаемый цвет

Будет аналогично предыдущему примеру, но будет работать со всеми строками, а не только со строкой 5.

Диапазоны также можно использовать в «Пользовательской формуле», поэтому вы можете раскрасить всю строку на основе значений их столбцов.

Зиг Мандель
источник
1
Спасибо, Зиг, что дал мне знать. Однако это полезно, но я не могу просто использовать его, пока я не скопирую содержимое моей старой версии электронной таблицы в новую. Спасибо, приятель
Марк Магалона
19
Я понял, вам нужно использовать абсолютную ссылку. Например, "= B5: B10 = C $ 5" на форуме и B5: B10 в диапазоне.
Бен
1
@ Очень ценится. Я понятия не имею, как кто-нибудь это
выяснит
29
Для ссылки на ячейку на другом листе: =B2>0.8*indirect("Sheet1!C2")( источник )
josephdpurcell
1
@Zig Mandel Работает нормально, за исключением ячеек, отформатированных как валюты, я просто пытаюсь скрыть (передний / белый фон) диапазон ячеек, некоторые из которых являются валютами. Есть идеи как? ура
Тино Макларен
197

Еще один пример:

Если у вас есть столбец от A до D, и вам нужно выделить всю строку (например, от A до D), если B - «Complete», то вы можете сделать это следующим образом:

"Custom formula is":  =$B:$B="Completed" 
Background Color:     red 
Range:                A:D

Конечно, вы можете изменить Range на A: T, если у вас есть больше столбцов.

Если B содержит «Complete», используйте поиск следующим образом:

"Custom formula is":  =search("Completed",$B:$B) 
Background Color:     red 
Range:                A:D
lucky1928
источник
2
Именно то, что я искал. Спасибо!
RDT2
8
Кажется, это не сработает, если вы не укажете $в поле «Пользовательская формула». т.е. делай $B$2:$Bа неB2:B
тдк
2
Просто добавьте к ответу lucky1928 - если вы измените Range с A: D на A: T, вы будете добавлять больше столбцов, а не строк / строк. Если у вас есть только конечное число строк, над которыми вы хотите работать с условным форматированием, то это может помочь указать строку, например, A2: D13, если у вас есть строка заголовка, например. В противном случае, если вы подходите к чему-то, что является пустым или не равно определенному значению, вы можете добавить цвет ко всем строкам, которые существуют на листе, что может не соответствовать вашему желанию.
Том Буш
Я не могу сказать вам, как долго я искал это решение - особенно с критерием, являющимся текстовым значением. Спасибо!
Фрэнсис Шерман
4
Обратите внимание, что "=" в начале формулы ОЧЕНЬ ВАЖНО
vy32
18

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

Он должен продемонстрировать, на что способна эта удивительная функция, и особенно, как работает $ thing.

Пример таблицы

Простая таблица Google листов

Цвет от D до G зависит от значений в столбцах A, B и C. Но формуле необходимо проверить значения, которые фиксированы по горизонтали (пользователь, начало, конец), и значения, которые зафиксированы по вертикали (даты в строке 1). Вот где знак доллара становится полезным.

Решение

В таблице 2 пользователя, каждый с определенным цветом, соответственно foo (синий) и bar (желтый).
Мы должны использовать следующие правила условного форматирования и применить их оба к одному и тому же диапазону ( D2:G3):

  1. =AND($A2="foo", D$1>=$B2, D$1<=$C2)
  2. =AND($A2="bar", D$1>=$B2, D$1<=$C2)

На английском языке условие означает: «
Пользователь есть name, а дата текущей ячейки - после startи до».end

Обратите внимание, как единственное, что меняется между двумя формулами, - это имя пользователя. Это позволяет легко использовать его многими другими пользователями!

Пояснения

Важно : Переменные строки и столбцы относятся к началу диапазона. Но фиксированные значения не затрагиваются.

Это легко спутать с относительными позициями. В этом примере, если бы мы использовали диапазон D1:G3вместо D2:G3, форматирование цвета было бы смещено на 1 строку вверх.
Чтобы избежать этого, помните, что значение для переменных строк и столбцов должно соответствовать началу содержащего диапазона .

В этом примере диапазон, который содержит цвета D2:G3, поэтому начало D2.

User, startИ endизменяются со строками
-> Фиксированные столбцы АВС, переменные строки , начиная с 2: $A2, $B2,$C2

Datesварьируется в зависимости от столбцов
-> Переменные столбцы, начиная с D, фиксированная строка 1:D$1

Ромэн Винсент
источник
Это гений!
Happy Bird
Вероятно, для этого нужен отдельный пост, но возможно ли основать сам условный стиль на другой ячейке? Например, если у вас есть отдельная таблица поиска для ваших парней "foo" и "bar", можно ли настроить условное форматирование для применения fg-color & bg-color этой ячейки в вашем правиле? Это то, что мне часто нужно, индикатор состояния для строки, где цвета и параметры состояния легко настраиваются без ручного перепрограммирования правил условного форматирования.
Memetican
Вы можете сделать это с помощью сценариев. Я считаю, что никогда не видел динамического средства для выбора определенных цветов или существующего формата при обычном использовании. РЕДАКТИРОВАТЬ: для запуска сценариев перейдите в инструменты> редактор сценариев и начать кодирование. Но это совершенно новый уровень использования листов ;-)
Ромен Винсент
6

В общем, все, что вам нужно сделать, это добавить $ в качестве префикса в букву столбца и номер строки. Пожалуйста, смотрите изображение ниже

введите описание изображения здесь

Klanjabrik
источник
1
Спасибо за снимок экрана, это очень помогло.
Б.Адлер,
3

изменить цвет фона ячейки B5 на основе значения другой ячейки - C5. Если C5 больше 80%, тогда цвет фона зеленый, но если он ниже, он будет янтарным / красным.

Нет упоминания о том, что B5 содержит какое-либо значение, поэтому предполагается, что 80%оно .8отформатировано в процентах без десятичных знаков и пустых значений как «ниже»:

Выберите B5, цвет "янтарный / красный" со стандартной заливкой, затем Формат - Условное форматирование ..., Пользовательская формула и:

=C5>0.8

с зеленой заливкой и Done.

Пример правила CF

pnuts
источник
2

Я разочарован тем, как долго это решалось.

Я хочу увидеть, какие значения в моем диапазоне находятся за пределами стандартного отклонения.

  1. Добавьте вычисление стандартного отклонения в ячейку где-нибудь =STDEV(L3:L32)*2
  2. Выберите диапазон, который нужно выделить, щелкните правой кнопкой мыши, условное форматирование
  3. Выберите формат ячеек, если он больше, чем
  4. В поле типа Значение или Формула=$L$32 (в какой бы ячейке ни находился ваш stdev)

Я не мог понять, как поставить STDEv. Я перепробовал много вещей с неожиданными результатами.

Nick.McDermaid
источник
Не хочешь объяснить отрицательный голос? Мне нравится документировать свой собственный опыт здесь. Я не раз забывал, гуглил и находил свой ответ
Nick.McDermaid
1
спасибо за ваш ответ, я получил возможность делать то, что хотел :)
Олли