В зависимости от пояснений в комментариях, здесь может быть 4 разных ответа. Если необходимо выделить строки для одного и того же лица, которые точно 7 дней друг от друга, независимо от того, есть ли между ними другая запись (например, Воскресенье - Среда - Воскресенье ), тогда вы можете просто использовать это:
=(COUNTIFS(A:A, A1, B:B, B1+7) + COUNTIFS(A:A, A1, B:B, B1-7))>1
Это будет проверять любые строки, где Имя соответствует текущему {Row Name}
, а Дата точно соответствует текущему {Row Date}
± 7
Если у вас не может быть никаких дат между строками, то это немного усложняется. Если у вас Office 365 или Office 2019, то вы можете использовать функции MINIFS
и MAXIFS
, чтобы найти следующую дату вверх или вниз
=OR(MINIFS(B:B, A:A, A1, B:B, ">" & B1)=(B1+7), MAXIFS(B:B, A:A, A1, B:B, "<" & B1)=(B1-7))
Если у вас более старая версия Office, вы необходимо заменить MINIFS
и MAXIFS
формулой массива:
=OR(SUMPRODUCT(MIN(B:B+9999*(1-(A:A=A1)*--(B:B>B1))))=B1+7, SUMPRODUCT(MAX(B:B*--(A:A=A1)*--(B:B<B1)))=B1-7)
(вы заметите, что способность "обнулять" значения делает нашу MAXIFS
замену проще, чем наша MINIFS
один, где мы добавляем 9999
в качестве нашего метода отбрасывания)
Для последних двух случаев, когда вы хотите выделить ВСЕ строки для отдельного лица, когда любое из этих других условий соответствует для любого их рядов, тогда вам понадобится far более сложной формулы массива.