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

У меня есть лист с такой информацией:

a
a
b
c
c
c

Как отформатировать его так, чтобы все строки со значением a в первом столбце были одного цвета, затем все строки со значением b в первом столбце были другого цвета и т. д.?

Редактировать не из OP, чтобы добавить уточнение из комментария:

Все уже отсортировано по алфавиту и останется таким, и я хочу несколько цветов.


person KARI    schedule 29.08.2013    source источник
comment
С помощью условного форматирования. Попробуйте прочитать документы, это хорошо объяснено.   -  person Jerry    schedule 29.08.2013
comment
Я новичок в Excel. Я думаю, я пытаюсь найти что-то, что сделает это автоматически? Я могу пойти и выбрать нужные строки и просто заполнить случайным цветом, но я пытаюсь сократить время, и кажется, что условное форматирование для каждого значения займет значительно больше времени.   -  person KARI    schedule 29.08.2013
comment
Но вручную это заняло бы еще больше времени, и в любом случае вы должны определить, какой цвет будет присвоен какому значению, верно?   -  person Jerry    schedule 29.08.2013
comment
мне все равно какого они цвета. Я просто пытаюсь визуально разделить группы, чтобы мне было легче вводить эти данные в другую программу. У меня около 10 разных листов. Один рабочий лист для каждого штата, а затем список компаний в каждом штате.   -  person KARI    schedule 29.08.2013
comment
возможный дубликат группы чередующихся цветов строк в Excel ( посмотрите на ответ с наибольшим количеством голосов, который не использует VBA)   -  person Salman A    schedule 03.09.2014


Ответы (2)


Создайте вспомогательный столбец с такой формулой;

=МОД(ЕСЛИ(A3=A2,0,1)+B2,2)

В этом примере столбец A — это столбец отсортированных значений, по которым нужно сгруппировать, а столбец B — вспомогательный столбец. Формула вводится в строке 3. Установите для первой строки вспомогательного столбца значение 0, а для остальных — формулу. Это приведет к чередованию значений во вспомогательном столбце для каждой группы, т.е.

a 0
a 0
b 1
c 0
c 0
c 0
d 1
d 1
e 0

Затем вы можете установить условное форматирование на основе значения столбца. Если значение равно 1, выделите строку; если это 0, не выделяйте его. Или используйте чередующиеся цвета или что-то еще. Вы можете сослаться на любую статью в Интернете, описывающую, как условно форматировать всю строку на основе значения в столбце.

IF(A3=A2,0,1) сравнивает текущую строку (3) и предыдущую строку (2), возвращая 1 или 0.

MOD( [...] +B2,2) выполняет чередование между 0 и 1 при изменении значения группирующего столбца.

person Aladdin    schedule 26.06.2015

Я думаю, вам нужен вспомогательный столбец, скажем, B, заполненный 1 в строке 1, и =IF(A1=A2,B1,B1+1) в B2 и скопированный вниз по размеру. Тогда формулы следующего вида должны подойти для условного форматирования:

пример SO18519394

person pnuts    schedule 29.08.2013
comment
вспомогательный столбец здесь не нужен, и из контекста мы не можем быть уверены, что значения всегда будут отсортированы. Кроме того, похоже, что им нужно несколько цветов, чтобы с первого взгляда отличить группы друг от друга. - person Ross Larson; 30.08.2013
comment
чтобы избежать вспомогательного столбца, необходимо использовать уникальный цвет (и правило) для каждого значения. Теперь я заметил, что это было предложено в комментариях и Кари (я понял свою ошибку с местоимением и попытался отредактировать ниндзя, но это было слишком медленно). не понравился такой подход. Если значения будут отсортированы (по общему признанию, это не очень сложно), то это должно работать великолепно (и тогда вспомогательный столбец может быть скрыт). В связи с этим я должен признать, что мой отрицательный голос был очень преждевременным, и если бы вы каким-то образом добавили свой ответ, я смог бы изменить свой голос (он заблокирован до редактирования), как мне нравится сейчас. - person Ross Larson; 30.08.2013
comment
да, все уже отсортировано по алфавиту, и так и останется, и да, я хочу несколько цветов - person KARI; 30.08.2013
comment
+1 У меня была аналогичная потребность, и, хотя ваш ответ не идеален, он натолкнул меня на мысль использовать ISODD() для выделения сгруппированных строк. Спасибо! - person Nick; 27.09.2014