5

Мои макросы были убраны; никогда не будет использоваться снова! Я потрошеная. Теперь мне нужно использовать форматирование, чтобы помочь мне выделить разных пользователей и их данные. Делать это вручную - рутина.

В Excel 2007 есть ли способ сказать «чередующийся цвет между серым и белым на основе совпадающих имен в строке A»? Строка А отсортирована так, чтобы имена были в порядке и вместе.

Bob (White)
Bob (White)
Derek (Grey)
Jane (White)
Jane (White)
Jane (White)
Jane (White)
etc (Grey)
etc (etc)

4 ответа4

3

Изменить: полностью пересмотрел мой ответ. Для этого требовалась "вспомогательная колонка", но, похоже, она работает намного лучше.

С сайта Excel Pages Дэвида Макричи по условному форматированию:

Мы хотим группировать каждый раз, когда происходит изменение в столбце A или столбце B. Условное форматирование не может отслеживать, какой был предыдущий цвет, поэтому нам придется использовать вспомогательный столбец, а затем сделать условное форматирование, чтобы проверить вспомогательный столбец.

Основная формула для необходимого вспомогательного столбца:

E1:  0 
E2: =MOD(OFFSET($E2,-1,0)+ OR($A2<>OFFSET($A2,-1,0),$B2<>OFFSET($B2,-1,0)),2)

Из E2 просто перетащите формулу вниз, как вам нужно с вашими данными.

Ваша формула условного форматирования будет:

=$E1=1 

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

2

Предполагая, что ваши данные начинаются со строки 2 (то есть строка 1 является заголовком), а столбец A является заголовком «группы данных» (ваш Боб и Дерекс выше), попробуйте следующее:

Установите дополнительный столбец (который вы будете скрывать позже) и поместите эту формулу в строку 2:

=IF(I1=1,(IF(A2=A1,1,0)),(IF(A2=A1,0,1)))

Перетащите эту формулу до конца своего набора данных. Теперь у вас должен быть набор значений 1 и 0, которые соответствуют вашим блокам данных. (1 для первого блока, 0 для второго блока, 1 для третьего блока и т.д.)

Теперь настройте простой условный формат для строки I:

  • Формула: =$I5=1
  • Формат: установите формат на серый
  • Относится к =$A$2:$G$100

Пока вы сохраняете строку I вне выбора автофильтра, он будет работать даже динамически при сортировке данных (с использованием автофильтра).

1

Если вы хотите сделать это без вспомогательного столбца, вы можете использовать это как формулу CF:

=MOD(SUMPRODUCT(($A$2:$A2<>$A$1:$A1)*1),2)=0

Просто выберите форматирование, и все готово.

0

Более простой для понимания способ сделать это - заполнить вспомогательный столбец, поместив формулу

= ЕСЛИ (А3 = А2, В2, АБС (В2-1))

в вспомогательном столбце (столбец B). Вы должны просто поставить ноль в B2 (я предполагаю, что у вас есть строка заголовка), вставить это в B3, а затем перетащите его вниз.

Затем вы используете формулу условного форматирования:

= $ В2 = 1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .