Альтернативный цвет фона сетки в Excel при изменении значения одного столбца?

13

Мне нужна формула для условного форматирования, чтобы сделать электронную таблицу Excel 2010 альтернативной подсветкой при изменении одного столбца. Этот вопрос « Как я могу чередовать цвет фона сетки в Excel при изменении значения одного столбца? » - это именно то, что я хочу сделать, но предлагаемое решение не сработало для меня - оно просто выделяет первую строку каждого соответствующего значения.

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

Вот ссылка на изображение того, как я хочу, чтобы моя таблица выглядела, когда я закончу. По сути, я хочу, чтобы каждая строка значения Disp Number была выделена. Кажется, что это было бы обычным делом, и я видел, что это просили в разных местах, но люди борются с тем, чтобы это работало.

Картина желаемого конечного результата

Sharon
источник

Ответы:

14

Этот ответ скопирован прямо из stackoverflow.com Чередование раскраски строк в Excel .

Я использую эту формулу, чтобы получить ввод для условного форматирования:

=IF(B2=B1,E1,MOD(E1+1,2))    [content of cell E2]

Где столбец B содержит элемент, который необходимо сгруппировать, а E - вспомогательный столбец. Каждый раз, когда верхняя ячейка (в данном случае B1) совпадает с текущей (B2), возвращается содержимое верхней строки из столбца E. В противном случае он вернет этот контент плюс 1 MOD 2 (то есть, результат будет 0 или 1, в зависимости от значения верхней ячейки).

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

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

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

В качестве альтернативы функции MOD вы можете использовать 1 - E1. Итак, полная формула есть =IF(B2=B1,E1,1-E1).

Очень похожий метод описан в Color Banding Based On Content , где включен загружаемый пример.

harrymc
источник
Сначала меня скинули, потому что моей версии Excel не нравились точки с запятой (с загадочным сообщением об ошибке), но как только я вместо этого использовал запятые в формулах, это сработало.
Шарон
Точки с запятой заменены сверху запятыми.
harrymc
На верхнем изображении все еще показаны точки с запятой.
Арен Камбре
Умная! Мне это нравится.
wrschneider
3

Это намного проще, если вы хотите создать пару вспомогательных столбцов. Например, установите Y2на =($A2=$A1), установите Z1на TRUE, установите Z2на =IF($Y2, $Z1, NOT($Z1))и перетащите / заполните Y2:Z2вниз до последней строки, в которой у вас есть данные. Колонка Zбудет чередоваться TRUEи FALSEтак, как вы хотите. Конечно, вы можете скрыть столбцы, Yи Zкогда вы их отлажены.

В случае, если это неясно: ячейка в столбце Yопределяет, являются ли значения Aэтой строки и предыдущей строки одинаковыми, поэтому она находится FALSEв первой строке каждого нового значения, а затем TRUEв остальной части блока. А столбец Z- это цепочка домино - каждое значение зависит от того, что над ним. Если значение в столбце Yравно TRUE, Zсохраняет то же значение, что и в строке выше; в противном случае Zпереключатели.

Скотт
источник
Спасибо, я думаю, что это по сути то же самое решение, которое было предложено Harrymc, но на самом деле нужен только один вспомогательный столбец. Более подробная информация выше.
Шарон
1

Вспомогательный столбец, чередующий 1 и 0, не нуждается в функции MOD (). Простая формула для E2 -

=IF(B2=B1,E1,1-E1)
user2168235
источник