как написать код оператора if для сравнения значения двух ячеек на одном листе с другим ячеем на другом листе - PullRequest
0 голосов
/ 29 января 2020

у меня есть два столбца (Дата начала, Дата окончания), и я хочу код, который меняет цвет обеих их ячеек на красный, если дата начала и дата окончания содержали любую дату, расположенную на другом листе

I попытался использовать условное форматирование, используя это правило: = AND (C2 <= Праздники! $ A $ 2: $ A $ 15, D2> = Праздники! $ A $ 2: $ A $ 15)

1 Ответ

0 голосов
/ 29 января 2020

Протестировал приведенную ниже формулу для себя и думаю, что она должна работать! По сути, вместо простого оператора AND, поскольку мы сравниваем массив значений, а не отдельные ячейки, нам нужно использовать несколько удобных формул массива. В этом посте дается хорошая разбивка того, что происходит под капотом: https://exceljet.net/formula/index-and-match-with-multiple-criteria

Примените эту формулу в условном форматировании, предполагая, что диапазон форматирования начинается с C2.

=SUM((Holidays!$A$2:$A$15>$C2)*(Holidays!$A$2:$A$15<$D2)) > 0

Также хотел вызвать абсолютные ссылки, указанные для столбцов. Я указал ** $ ** C2 и ** $ ** D2 в моей формуле, что означает, что независимо от того, какая ячейка в вашем условно отформатированном диапазоне, она будет оценивать значения в столбцах C и D. текущая формула, ячейка C2, будет оценивать на C2 и D2, но ячейка D2 будет затем оценивать на D2 и E2. Вот почему при попытке ручного форматирования правильно форматировались только ячейки даты начала (столбец C).

Надеюсь, это поможет!

Обновление ::

Если бы у вас был формат таблицы, как на прикрепленном скриншоте, вы бы применили формулу условного форматирования:

= SUM ((Праздники! $ A $ 2: $ A $ 15> $ C2) * (Праздники! $ A $ 2: $ A $ 15 <$ D2))> 0

К диапазону ячеек $ C $ 2: $ D $ 3

Если вы меняете диапазон ячеек (скажем, вы хотите применить к $ C $ 10: $ D $ 14), вы просто измените $ C2 и $ D2 в формуле -> $ C10 и $ D10.

Sample pic

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