2

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

Вот часть набора данных (который находится в строках с A2 по A30)

1
1
1
2
3
6
8
9
10
11
12
15
15
17
18
18
19
20
20
20
20
20
21
21
24
25
25
25
25

И предполагаемый результат будет таким: 1 будут красными, 15 - зелеными, 18 - красными, 20 - зелеными, 21 - красными, 25 - зелеными и т.д.

1 ответ1

7

Установите B2 на

=IF(A2=A3, 1, -2)

и установите B3 в

=IF($A2=$A3, B2, IF($A3=$A4, IF(B2>0,3-B2,B2+3), IF(B2>0,-B2,B2)))

и перетащите его вниз до B30 (или до последней строки, содержащей данные, что бы это ни было).  При этом будет получено положительное число, если эта строка является частью группы повторяющихся значений, и отрицательное значение, если это не так (т. Е. Если столбец A содержит уникальное значение).  Во всей первой группе значений дубликатов столбец B будет 1; на протяжении второго будет 2; на протяжении третьего снова будет 1, и так далее (чередование).  В строках с уникальными значениями столбец B будет содержать отрицание значения самой последней группы значений-дубликатов.

Шаг за шагом:

Первый ряд:

  • Если A2=A3 , то строки 2 и 3 являются частью одной и той же группы повторяющихся значений, и поэтому B должно быть 1, потому что мы хотим, чтобы первая группа была пронумерована 1.  В противном случае (если A2A3), строка 2 не является частью группы повторяющихся значений (мы пока не знаем о строке 3), поэтому она должна иметь отрицательное значение.  Мы делаем это -2, так что первая дублирующая группа значений (когда мы ее найдем) будет пронумерована 1.

Последующие строки:

  • Если A2=A3 , то эта строка и предыдущая являются частью одной и той же группы повторяющихся значений, поэтому B должно быть таким же, как и в предыдущей строке.
  • В противном случае (если A2A3), если A3=A4 , то эта и следующая строки являются первыми двумя строками новой группы значений-дубликатов, поэтому B - это IF(B2>0,3-B2,B2+3):
    • Если B2>0 , то предыдущая строка была последней строкой другой группы значений-дубликатов.  Таким образом, мы хотим чередовать значения между 1 и 2 - если предыдущая строка была 1, мы хотим, чтобы это было 2, и наоборот.  Выражение 3-B2 реализует это чередующееся поведение: 3-1 равно 2, а 3-2 равно 1.
    • В противном случае (если B20), предыдущая строка имеет уникальное значение в столбце A , а столбец B имеет отрицательное значение B последней группы.  Опять же, мы хотим чередовать значения между 1 и 2 - если предыдущая строка была -1, мы хотим, чтобы это было 2, и наоборот.  Мы получаем это с B2+3: -1+3 равно 2 и -2+3 равно 1.
  • В противном случае (если A3A4), эта строка является строкой с уникальным значением, поэтому B - это IF(B2>0,-B2,B2):

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

    Я думаю, я мог бы сказать -ABS(B2) здесь.

Итак, теперь, очевидно, вы используете условное форматирование, чтобы закрасить ячейки красным, если значение в столбце B равно 1, а зеленому - 2.
                                                Скриншот

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