Условное форматирование на основе предыдущих ячеек при пропуске пустых ячеек - PullRequest
0 голосов
/ 07 января 2019

Я хочу условное форматирование, чтобы ячейка была темно-зеленой, если это «1», а следующие 3 непустые ячейки в верхних строках (ниже на странице) также равны «1». Например, на этом изображении все правильно , за исключением , верхний правый «1» должен быть темно-зеленым:

enter image description here

Самый левый столбец прост. Верхняя ячейка в среднем столбце не темно-зеленого цвета, потому что полоса 1 была разбита на 0. И самый правый столбец неверен, как я упоминал выше.

Вот мое текущее условное форматирование:

=AND(
  EQ(INDIRECT(ADDRESS(ROW(), COLUMN())), INDIRECT(ADDRESS(ROW()+1, COLUMN()))),
  EQ(INDIRECT(ADDRESS(ROW(), COLUMN())), INDIRECT(ADDRESS(ROW()+2, COLUMN()))),
  EQ(INDIRECT(ADDRESS(ROW(), COLUMN())), INDIRECT(ADDRESS(ROW()+3, COLUMN())))
)

Но это действительно просто проверка того, что текущая ячейка соответствует трем нижним ячейкам. Как я могу пропустить произвольное количество пустых ячеек?

1 Ответ

0 голосов
/ 07 января 2019

Это можно сделать путем многократного использования смещения:

(1) для получения минимального диапазона, который содержит три непустых ячейки

(2), чтобы проверить, содержит ли этот диапазон три единицы:

=AND(A1=1,COUNTIF(OFFSET(A2,0,0,MATCH(3,COUNTIF(OFFSET(A2,0,0,ROW($1:$10)),"<>"),0)),1)=3)

enter image description here

Обратите внимание, что вам нужно выбрать, сколько ячеек смотреть в будущее (здесь установлено значение 10). Вы можете смотреть вперед до самого конца диапазона, который вы форматируете, но со временем можете столкнуться с проблемами производительности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...