Таблицы Google: чередование цвета фона при изменении значения?

есть множество тем об условном форматировании в таблицах Google, но ни одна из них не похожа на то, что я ищу.

Все, что я хочу сделать, это установить чередующийся цвет фона в зависимости от значения, изменяющегося в столбце. Например:

Чередование цветов для изменения значения

Если нет простого способа сделать это, знает ли кто-нибудь, что я бы написал для формулы условного форматирования?

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

Если вам интересно, у меня есть список типов систем и их показатели энергопотребления - я просто хотел бы иметь цветовую демаркацию, когда тип системы меняется на правый за пределами экрана.


person Locane    schedule 15.05.2015    source источник
comment
Всегда ли уникальные ценности будут последовательными? Хотели бы вы когда-нибудь снова увидеть ValueA в строке 16? И если да, хотите ли вы, чтобы он был цветным или оставался белым?   -  person chancea    schedule 15.05.2015
comment
Я отвечу на это, отредактировав свой пост - спасибо за вопрос!   -  person Locane    schedule 15.05.2015
comment
@Locane мой ответ подошел?   -  person Noam Shaish    schedule 07.11.2016


Ответы (6)


Есть способ сделать это, не добавляя лишних строк или столбцов. Создайте правило условного форматирования и для «настраиваемой формулы» укажите:

=iseven(match($A1,unique($A$1:$A$15),0))

Это работает следующим образом:

  1. unique создает список ValueA, ValueB, ValueC, ValueD, ValueE
  2. match ищет каждое значение (начиная с A1) в этом списке, обратите внимание, что опция поиска 0 требуется, если ваши значения не отсортированы. match возвращает индекс совпадающего значения
  3. iseven применяет чередующуюся окраску строк на основе индекса соответствия
person nonagon    schedule 10.07.2018
comment
Это сработало для меня после того, как я заменил запятые точкой с запятой, то есть =iseven(match($A1;unique($A$1:$A$15);0)). - person Samuel-Rosa; 09.02.2019

Я добавил дополнительный столбец со следующей формулой: = IF ($ A2 = $ A1, $ D1, $ D1 + 1)

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

чем условное форматирование по следующей формуле: = isEven ($ D1)

person Noam Shaish    schedule 27.07.2016

0 / 1

Попробуйте эту формулу на B1:

={1;ArrayFormula(IF(OFFSET(A2,,,COUNTA(A:A)-1)<>OFFSET(A2,-1,,COUNTA(A:A)-1),1,0))}

добавит единицу при появлении нового значения в строке.


Прилавок

Следующая формула создаст счетчик для значений в A: A.

Вставьте его в C1:

ArrayFormula(SUMIF(ROW(OFFSET(B1;;;COUNTA(A:A))); "<="&ROW(OFFSET(B1;;;COUNTA(A:A)));OFFSET(B1;;;COUNTA(A:A))))


Формирование

Условное форматирование диапазона A:Z по следующей формуле: =isOdd($C1)

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

person Max Makhrov    schedule 12.10.2017

Самым простым для меня кажется четкое форматирование и выбор ColumnA и Format, Условное форматирование ..., Форматирование ячеек, если ... Пользовательская формула и:

=and(A1<>"",isodd(counta(unique($A$1:$A1)))=TRUE)

Затем выберите нужное форматирование и Готово.

(Из здесь.)

person pnuts    schedule 13.01.2018

Единственный способ увидеть, как это работает, - это создать новый столбец. При желании это можно скрыть.

Бросьте эту формулу в любой новый столбец и автозаполните вниз:

=IFERROR(IF(A1<>INDIRECT("A"&ROW()-1),IF(INDIRECT(CHAR(COLUMN()+64)&ROW()-1)=0,1,0),INDIRECT(CHAR(COLUMN()+64)&ROW()-1)),1)

При необходимости измените A1 на начало ваших данных. Вы также можете заменить INDIRECT(...) на смещение, но тогда вы должны указать ему, в какой столбец вы помещаете формулу. Итак, чтобы привести пример, делающий это таким образом; если вы поместите его в столбец B:

=IFERROR(IF(A1<>INDIRECT("A"&ROW()-1),IF(OFFSET(B1,-1,0)=0,1,0),OFFSET(B1,-1,0)),1)

Эта формула дает нам столбец, состоящий из нулей и единиц, который говорит нам, нужно ли сделать фон цветным или оставить его белым.

Поэтому в условном форматировании просто примените его к желаемому диапазону и используйте «Пользовательская формула»:

=$B1

Выберите желаемое форматирование

person chancea    schedule 15.05.2015

наиболее надежным было бы использовать эту формулу:

=ISEVEN(SUMPRODUCT(--(A$1:A1<>A$2:A2)))
person player0    schedule 07.10.2019
comment
Привет, спасибо за этот ответ. Расскажите, пожалуйста, почему это самая надежная формула и как она работает? Мне действительно интересно. Большое спасибо. - person dani herrera; 15.11.2020