01 Какую задачу решаем
Для того чтобы выделить ячейки, где даты пересекаются, вы можете использовать условное форматирование с формулой, основанной на функции СУММПРОИЗВ. В приведенном примере формула в ячейке E6:
=СУММПРОИЗВ(($C6<=$D$5:$D$9)*($D6>=$C$5:$C$9))>1
=SUMPRODUCT(($C6<=$D$5:$D$9)*($D6>=$C$5:$C$9))>1
Это та же самая формула, которая используется для выделения целых строк в таблице с использованием правила условного форматирования на основе формулы.
02 ОБЩАЯ ФОРМУЛА
=СУММПРОИЗВ((дата_начала<=даты_окончания)*( дата_окончания>= даты_начала))>1
=SUMPRODUCT((start_date<=end_dates)*(end_date>=start_dates))>1
03 Как работает формула
Подумайте, как работают перекрывающиеся даты. Чтобы проект перекрывал даты других проектов, должны быть выполнены два условия:
- Дата начала должна быть меньше или равна (<=) по крайней мере до одной другой даты окончания и списка.
- Дата окончания проекта должна быть больше или равна (>=) по крайней мере одной другой дате начала в списке.
Если оба этих условия верны, даты проекта должны перекрывать другой проект в этом списке.
Функция СУММПРОИЗВ идеально подходит этой задачи, потому что она отлично выполняет сравнения массивов.
Чтобы проверить дату начала проекта снова на все даты окончания, мы используем это выражение:
($C6<=$D$5:$D$9)
Для того чтобы проверить дату окончания проекта на все даты окончания, мы используем это выражение:
($D6>=$C$5:$C$9)
Полученные массивы значений ИСТИНА ЛОЖЬ умножаются друг на друга внутри СУММПРОИЗВ. Это автоматически приводит к результатам ИСТИНА и ЛОЖЬ в 1 и 0, поэтому формула разрешается следующим образом:
=СУММПРОИЗВ({0;1;1;1;1}*{1;1;1;0;0})>1
=СУММПРОИЗВ({0;1;1;0;0})>1
=ИСТИНА
=SUMPRODUCT({0;1;1;1;1}*{1;1;1;0;0})>1
=SUMPRODUCT({0;1;1;0;0})>1
=TRUE
04 Скачать файл
Автор проекта
Дмитрий Якушев
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель - помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Подписывайтесь на нас в соц.сетях:
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Написать в тех.поддержку
Подписывайтесь:
авторизуйтесь