Условное форматирование, на основе всей строки


84

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

У меня есть рабочий лист. Он содержит список животных в нашем приюте. Я пытаюсь окрасить всю строку в зеленый цвет, если они были приняты (отмечены знаком «X» в столбце «G»). У меня было =$G$2="X"и =$G2="X", но ни одно не работает. Он будет окрашивать только одну строку, которая была активной, когда я установил правило, а когда я ввожу «X» в другой строке, он ничего не делает. Что мне не хватает?

Ответы:


108
=$G1="X"

будет правильным (и самым простым) методом. Просто сначала выберите весь лист, так как условное форматирование работает только с выбранными ячейками. Я просто попробовал, и он отлично работает. Вы должны начинать с G1, а не с G2, иначе условное форматирование будет смещено на строку.


4
Это одно маленькое предложение имело все значение: Just select the entire sheet first, as conditional formatting only works on selected cells.
HPWD

1
@pnuts: Я думаю, это та Select "Use a Formula to determine which cells to format"линия, которая помогла многим людям, пришедшим извне. У ОП все еще есть это, но не у всех :)
Mat M

2
На самом деле, вы просто должны сделать на выбор для этого , чтобы работать. Вы можете применить CF к небольшой таблице на рабочем листе. Относительная настройка применяется к верхней строке выделенного фрагмента, например, если верхняя строка равна 5, и вы хотите проверить столбец G в текущей строке для раскраски, так и будет $G5.
Mat M

4
Этот исправил это для меня You must start at G1 rather than G2 otherwise it will offset the conditional formatting by a row.
jwatts1980

1
Но это работает только для одной строки, что, если у меня 200 ... нужно ли мне 200 правил?
gunslingor

145

Используйте «косвенную» функцию условного форматирования.

  1. Выберите условное форматирование
  2. Выбрать новое правило
  3. Выберите «Использовать формулу, чтобы определить, какие ячейки нужно форматировать».
  4. Введите формулу, =INDIRECT("g"&ROW())="X"
  5. Введите нужный формат (цвет текста, цвет заливки и т. Д.).
  6. Выберите ОК, чтобы сохранить новый формат.
  7. Откройте «Управление правилами» в условном форматировании
  8. Выберите «Этот лист», если вы не видите свое новое правило.
  9. В поле «Применимо к» вашего нового правила введите =$A$1:$Z$1500 (или в зависимости от ширины / длины условного форматирования в зависимости от вашего рабочего листа)

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

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

Например, если вы добавите новое правило с формулой, =INDIRECT("h"&ROW())="CAR"то оно отформатирует каждую строку, имеющуюся CARв столбце H, как указанный вами формат.


2
Вероятно, это ошибка новичка, но если ваш столбец содержит число (а не букву типа X), вам нужно удалить кавычки вокруг числа, чтобы это сработало, например = INDIRECT ("T" & ROW ()) = 5
Coruscate5

Один из самых простых и лучших ответов, которые я видел для выделения строки.
Прабеш

Этот ответ сработал для меня с использованием Excel 2013. Принятый ответ не имел смысла, и поэтому я не мог найти способ заставить его работать. С этим ответом я даже добавил функцию MAX, чтобы она выделяла всю строку максимального значения в столбце g (в моем случае b). И если значения изменятся, подсветка будет следовать за макс.
Nelda.techspiress 09

Ты гениальный друг.
J. Wrong

9

Чтобы установить условное форматирование для ВСЕЙ СТРОКИ на основе одной ячейки, вы должны ЗАЯВИТЬ адрес столбца этой отдельной ячейки с помощью символа «$», иначе Excel получит правильный только первый столбец. Почему?

Поскольку Excel устанавливает условный формат для ВТОРОГО столбца строки на основе СМЕЩЕНИЯ столбцов. Для ВТОРОГО столбца Excel переместил один столбец ПРАВО от предполагаемой ячейки правила, изучил ЭТУ ячейку и правильно отформатировал второй столбец на основе ячейки, которую вы никогда не планировали.

Просто закрепите часть COLUMN адреса ячейки правила с помощью «$», и вы будете счастливы

Например: вы хотите, чтобы любая строка вашей таблицы была выделена красным, если последняя ячейка этой строки не равна 1.

Выделите всю таблицу (но не заголовки) «Главная»> «Условное форматирование»> «Управление правилами ...»> «Новое правило»> «Используйте формулу, чтобы определить, какие ячейки нужно форматировать»

Введите: «= $ T3 <> 1» (без кавычек ... «T» - это столбец ячейки правила, «3» - это строка). Установите форматирование. Нажмите «Применить».

Убедитесь, что Excel не вставил кавычки ни в одну часть вашей формулы ... если это так, Backspace / Удалите их (пожалуйста, без клавиш со стрелками).

Условное форматирование должно быть установлено для всей таблицы.


2

Вы хотите применить собственное правило форматирования. Поле «Применимо к» должно занимать всю вашу строку (если вы хотите отформатировать строку 5, введите ее =$5:$5. Пользовательская формула должна быть =IF($B$5="X", TRUE, FALSE), как показано в примере ниже.


Так будет ли это работать для каждой строки на листе? Кроме того, могу ли я просто ограничить его столбцами (например, A5: G5)?
Джош

1
Да, и да, хотя, я думаю, вам нужно иметь отдельное правило для каждой строки. Попытка выделить каждую строку с помощью одного правила будет очень сложной задачей, в этот момент я бы предложил использовать немного VBScript для достижения того, что вы хотите. Я думаю, что если вы скопируете и вставите строку с правилом, это правило также будет вставлено, так что вы всегда можете попробовать это.
qJake

0

Используйте адресацию RC. Итак, если я хочу, чтобы цвет фона столбца B зависел от значения в столбце C, и применил его из строк 2–20:

Шаги:

  1. Выберите R2C2 - R20C2

  2. Нажмите на условное форматирование

  3. Выберите «Использовать формулу, чтобы определить, какие ячейки нужно форматировать».

  4. Введите формулу: = RC [1]> 25.

  5. Создайте нужное форматирование (например, цвет фона "желтый")

  6. Применимо к: Убедитесь, что написано: = R2C2: R20C2

** Обратите внимание, что «волшебство» происходит на шаге 4 ... использование RC-адресации для просмотра значения в одном столбце справа от форматируемой ячейки. В этом примере я проверяю, содержит ли значение ячейки в одном столбце справа от форматируемой ячейки значение больше 25 (обратите внимание, что вы можете поместить здесь практически любую формулу, которая возвращает значение T / F)


-2

В моем случае я хотел сравнить значения в ячейках столбца E с ячейками в столбце G

Выделите выбор ячеек для проверки в столбце E.

Выберите условный формат: выделите правила ячейки. Выберите один из вариантов, в моем случае он был больше, чем. В левом поле всплывающего окна используйте = косвенный ("g" & row ()), где g - это строка, с которой я сравнивал.

Теперь строка, которую вы форматируете, будет выделяться в зависимости от того, больше ли она, чем выделение в строке G

Это работает для каждой ячейки в столбце E по сравнению с ячейкой в ​​столбце G, выбранной вами для столбца E.

Если G2 больше E2, он форматирует

G3 больше, чем E3, он форматирует и т. Д.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.