Доброго дня. Продолжение темы, первая часть тут ТЫЦ
Для тех кто не хочет переходить
Добрый день. Попал в ступор.....вот как до работы с датами доходит, вообще тупняк......и формулами мне кажется тут не справиться. мб не прав На листе "Расчет УК" есть столбцы Улица/дом/квартира/ПЕРИОД На листе "База" есть столбцы Улица/дом/квартира/дата начала/дата конца.
Надо на листе "расчет УК" в столбце S поставить статус: "Договора нет" - если по данному адресу + период, НЕ попадает в период действия договора на листе "База" "Договор есть" - если по данному адресу + период, попадает в период действия договора на листе "База"
Если при статусе "Договор есть" период на листе "Расчет УК" выпадает на "дату начала" или "дату окончания" на листе "БАЗА" поставить такие даты в соседние ячейки рядом со статусом. (пример в файле 18 и 23 строка). Вот обзац выше про даты, возможно выходит за рамки правил (одна тема один вопрос) если надо создам отдельно, но тут информация больше для понимания общей задачи, вдруг, будет макрос, и при добавлении условия что нужны ещё даты, придётся переписывать вообще с 0. Так что в случае чего Пнуть ногой в бочину, будем создавать отдельно)
Файл в реальной структуре, всё лишнее удалено. P.S. кол-во строк на каждом листе более 10000 по факту. Сортировал Улица/дом/кв/период - но в реальных файлах сортировки может не быть. Но если без сортировки никуда, будем делать)
Необходимо чтобы в Столбцах W (Дата начала) и X (дата конца) на листе "Расчет УК", проставлялась даты (выделил оранжевым на обоих листах). Если Период на листе "Расчет УК"(период подразумевается месяц т.е. например: 01.11.2017 = Ноябрь 2017), попадает на дату начала или дату конца действия договора на листе "БАЗА". Соответствующие даты проставлялись в соответствующие столбцы в ином случае пусто.
Нюансы: 1) На одном Адресе может быть несколько договоров. 2) Так же могут быть разрывы между действиями договоров.(как оказалось....) 3) Сортировка которая присутствует в примере сделана руками, по умолчанию из базы выгружается фарш (скажите если она обязательна для вашего решения) 4) Если в столбце V (cтатус НЕ Истина) на листе "Расчет УК", даты 100% быть не может. 5) В реальных рабочих файлах 50тыщ+ строк
UPD: Первоначальное решение найдено тут лютый франкенштейн, но работает.