Страницы: 1
RSS
Поиск в диапазоне дат и возврате нужного значения
 
Добрый день.

Граждане, копался по форумам, но не нашел решение.

Есть файл, в котором две закладки. В одном выгрузка из базы по погрузкам, в другом - список акций с указанием их периода.
Нужно в базе добавить столбец с маркером Акция\Не акция.

Пробовал через Суммеслимн, сделал проверку на соответствие СКЮ, тары, кода клиента, но уперся в даты. Массив проверяется на наличие конкретной даты из ячейки в массиве, а диапазон от и до не понимает никак.
Отдельно формула Если сравнивает конкретные ячейки, а не массивы. По этому встроить ее в Суммеслимн не получилось.

Другая проблема, что в закладке акции может быть указан код плательщика или код клиента. Нужно проверять на наличие либо того, либо другого как то.

Буду благодарен за помощь!  
 
Код
=ЕСЛИ(СУММПРОИЗВ((RC1=Акции!R3C1:R7C1)*((RC11=Акции!R3C2:R7C2)+ЕПУСТО(Акции!R3C2:R7C2))*((RC4=Акции!R3C3:R7C3)+ЕПУСТО(Акции!R3C3:R7C3))*(RC13>=Акции!R3C4:R7C4)*(RC13<=Акции!R3C5:R7C5)*(RC9=Акции!R3C6:R7C6)*(RC8=Акции!R3C7:R7C7))>0;"в акции";"")
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Только номер клиента и номер плательщика наверное перепутан
 
marchenkoan, Не работает. При запуске макроса проставляет "Акция" и на Пилснер, который в июне, хотя в датах его нет. И при изменении в Закладке Акция, ничего не происходит.

Игорь Гончаренко,
Проверил, но при вставке в файл, сначала вываливает ошибку в синтаксисе, а потом формула проставляет везде ИСТИНА.  
 
Проверяйте
Изменено: StepanWolkoff - 11.08.2016 10:31:34
 
StepanWolkoff, не работает. Только на первой ячейке. Возможно с форматом дат в основной закладке затык?  
 
=ЕСЛИ(СЧЁТЕСЛИМН(Акции!$D$3:$D$7;"<="&$M2;Акции!$E$3:$E$7;">="&$M2;Акции!$B$3:$B$7;$D2)+СЧЁТЕСЛИМН(Акции!$D$3:$D$7;"<="&$M2;Акции!$E$3:$E$7;">="&$M2;Акции!$C$3:$C$7;$K2);"акция";"не акция")
И исправьте в примере замечание, что Вам сделали:
Цитата
marchenkoan написал: номер клиента и номер плательщика наверное перепутан
И не наверное, а точно перепутаны поля.
ЗЫ И ещё, в выгрузке сделайте даты датами, а не текст. Как сделать найдёте на форуме поиском.
Изменено: JayBhagavan - 11.08.2016 10:11:09

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan, то же не работает. При протягивании пишет на против Безалкогольного пива "Акция" хотя в таблице с акциями этой позиции нет.

Сейчас пере залью файл примера.  
 
даты на первой странице записаны как текст.
моя формула была написана для ДАТ как ДАТ, и для данных что были в самом первом файле - ни одной строки не было в акциях!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Извиняюсь, вышел без сохранения, см.новый файл
В таблице акций, строка
Код
10722016.12.201416.05.2015Лидское PilsnerПЭТ-бутылка   2,0L
Поправил год на 2014, иначе получалось, дата начала акции раньше даты окончания
Изменено: StepanWolkoff - 11.08.2016 10:29:30
 
Игорь Гончаренко, Игорь, если я правильно понял, то в первом файле на второй закладке у тебя не было данных? Проверь еще раз, видны? потому что были там первоначально. Сейчас файл пере залил.

Исправил столбец на даты и перевел в верный формат. Формула срабатывает и на те позиции, которых нет во второй закладке.  
 
StepanWolkoff, Еще раз скачал файл, то же самое. Только в первой ячейке работает.  
 
vrn, сейчас точно залил то, что надо))
 
StepanWolkoff, ТЫ КРУТ! Работает!!!! Спасибо огромное!!!
 
1. на листе Акции, во второй колонке код клиента, а в 3-й - код плательщика, несмотря на то, что заголовки колонок говорят о другом.
2. формула возвращает 1 или больше если строка в акции и 0 - если нет
3. добавил условный формат, теперь не нужно гнать курсор в конец таблицы, чтобы посмотреть в акции данная строка или нет
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь Гончаренко, Спасибо! То же работает!

Ребята, Вы крутые! Очень помогли!  
 
удалите моё сообщение.
Изменено: MaryLux - 19.10.2020 15:39:20
 
Создайте отдельную тему с названием, отражающим суть задачи
 
ааааа...ВЗРЫВ МОЗГА ОТ ТОГО, КАК ЛЮДИ РЕШАЮТ ЗАДАЧИ..КРУТЬ
Страницы: 1
Наверх