Страницы: 1
RSS
Выбор всех значений по нескольким критериям в массиве (попадание в диапазон дат, совпадение кода)
 
Добрый день. Помогите, пожалуйста. На Листе 2 список с проходящими акциями, с указанием кода товара, размера скидки и периода. Необходимо, чтобы на Лист 1 подтягивался размер скидки по коду товара, при условии, что акция попадает в заданный период.
Например, по коду 0499, первая акция началась с 8 октября и закончилась 28 октября, на первом листе в ячейках M17:Р17 должна быть скидка 40%; вторая акция началась 30 ноября и закончилась 8 декабря, соотв-но в ячейке U17:V17 должна быть скидка 35%.
Все формулы, которые пыталась использовать проверяют только первую акцию.

Пример см. ниже
Изменено: Olga_Gorik - 22.08.2019 11:56:43
 
Olga_Gorik, зачем столько данных много..сделали бы короткий и понятный пример...с желаемым результатом
Изменено: Mershik - 22.08.2019 11:31:23
Не бойтесь совершенства. Вам его не достичь.
 
Mershik удалила лишнее
Изменено: Olga_Gorik - 22.08.2019 11:36:58
 
Mershik, присоединяюсь. Очень много откровенного мусора, не нужного для решения задачи.

+Вопрос: Что делать, когда на неделе на один и тот же товар действует несколько скидок?
Я не волшебник, я только учусь.
 
Wiss,на неделе может действовать только одна скидка на товар
откровенный мусор удалила
 
Olga_Gorik, для последнего примера в D11 и протянуть вправо.

=СУММПРОИЗВ(($B11=Лист2!$C$3:$C$10)*((D$5<=Лист2!$B$3:$B$10)*(D$4>=Лист2!$A$3:$A$10));Лист2!$D$3:$D$10)

чуть не так...вот такой вариант

Код
=ЕСЛИ(СУММПРОИЗВ(($B11=Лист2!$C$3:$C$10)*((D$5<=Лист2!$B$3:$B$10)*(D$5>=Лист2!$A$3:$A$10));Лист2!$D$3:$D$10)=0;СУММПРОИЗВ(($B11=Лист2!$C$3:$C$10)*((D$4<=Лист2!$B$3:$B$10)*(D$4>=Лист2!$A$3:$A$10));Лист2!$D$3:$D$10);СУММПРОИЗВ(($B11=Лист2!$C$3:$C$10)*((D$5<=Лист2!$B$3:$B$10)*(D$5>=Лист2!$A$3:$A$10));Лист2!$D$3:$D$10))
Изменено: Mershik - 22.08.2019 12:14:54
Не бойтесь совершенства. Вам его не достичь.
 
Всё-таки решил проверять на несколько скидок:

=ЕСЛИ(СУММПРОИЗВ((G$4<Лист2!$B$3:$B$11)*(G$5>Лист2!$A$3:$A$11)*($B11=Лист2!$C$3:$C$11))>1;"несколько";ЕСЛИОШИБКА(ИНДЕКС(Лист2!$D$3:$D$11;СУММПРОИЗВ((G$4<Лист2!$B$3:$B$11)*(G$5>Лист2!$A$3:$A$11)*($B11=Лист2!$C$3:$C$11)*СТРОКА(Лист2!$B$3:$B$11))-СТРОКА(Лист2!$D$2));0))
Я не волшебник, я только учусь.
 
Mershik, Wiss спасибо огромное!!!
Страницы: 1
Наверх