У меня есть таблица в листе Excel, где строки обычно сгруппированы (возможно, отсортированы) по значению в одном столбце. В примере ниже это Column, A
и он отсортирован по Year. Но он не обязательно числовой и не обязательно отсортирован; это может быть "Apple", "Apple", "Apple", "Pear", "Banana", "Banana".
Я хотел бы изменить цвет заливки для строки при изменении значения в указанном столбце. Например:
А | Б | С | ||
---|---|---|---|---|
1 | Год | Имя | Количество | |
2 | 1999 | Фред | 1000 | (эта строка должна быть оранжевой) |
3 | 1999 | Элис | 1200 | (эта строка должна быть оранжевой) |
4 | 1999 | Боб | 100 | (эта строка должна быть оранжевой) |
5 | 2000 | Кэрол | 250 | (эта строка должна быть зеленой) |
6 | 2001 | Дэйвид | 450 | (эта строка должна быть оранжевой) |
7 | 2001 | Эд | 600 | (эта строка должна быть оранжевой) |
8 | 2002 | Джо | 700 | (эта строка должна быть зеленой) |
[изображение электронной таблицы]
Итак, заливка строк с 1999 в столбце Год будет одного цвета, скажем, оранжевого, а затем, когда значение изменится, цвет заливки изменится. Было бы неплохо, если бы цвет просто чередовался, скажем, оранжевый, затем зеленый, затем оранжевый и т. д. Мне интересен общий способ сделать это, а не то, что полагается на столбец с годами или числами, это может быть марка автомобиля, или фрукт и т. д. Кроме того, если есть еще один год 1999 много строк ниже, он не обязательно должен быть цветом заливки 1, он просто должен отличаться от соседних строк, не содержащих 1999.
Я использовал условное форматирование для нескольких вещей, но не могу заставить его делать это. Цель — лучше видеть, когда меняется год. Это отличается от простого чередования заливки.
решение1
Нет необходимости использовать VBA, если вы готовы использовать вспомогательный столбец. Давайте используем Column H
. Установите H2
на 1; затем установите H3
на
=IF(A2=A3, H2, 3-H2)
и перетащите/заполните вниз. Это будет чередоваться между 1
и 2
каждый раз, когда значение в столбце A
изменится:
- Если эта строка имеет то же значение в столбце,
A
что и предыдущая строка (IF A2=A3
), то используйте то же значение для вспомогательного столбца, что и предыдущая строка (H2
); - В противном случае поменяйте значения:
3-H2
. ЕслиH2
is1
, это вычисляется как3-1
which is2
. ЕслиH2
is2
, это вычисляется как3-2
which is1
.
Затем настройте условное форматирование, чтобы просмотреть значение в столбце H
: