Страницы: 1 2 След.
RSS
Как настроить логику привязки к данным с несколькими условиями выборки
 
Добрый день всем.

Нужна помощь в написании формулы.
Ситуация следующая:
Есть несколько позиций товара, с данными по приходу (дата, количество, себестоимость), с данными по количеству продаж и остатка.
Необходимо автоматизировать процесс фильтрации среди этих товаров, требующих максимальной низкой цены в зависимости от длительности срока (с момента прихода к актуальной дате), коэффициенту продаваемости, выше "0" (т.е. цена должна быть из диапазона возможных вариантов, с исключением варианта нулевой цены) и выше себестоимости. Если по выборке нет подходящего товара, в таком случае оставлять розничную цену.

Пример в прикрепляемом файле.
Заранее спасибо.  
 
пятое условие шестому  противоречит для относительно старых товаров
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
1. Для товаров, которые достаточно старые, и не особо продаваемые, из ценового диапазона цена1-цена7 выбрать максимально низкую цену, но не ниже себестоимости.
Максимально низкую  - минимально высокую, что творится в мире!!!?
Цитата
до 75% Отлично продаваемые
а 76 и более - это дефицитные?
Уточните условия и нужно четко понимать куда относятся указанные граничные значения.
Изменено: БМВ - 05.12.2020 21:47:11
По вопросам из тем форума, личку не читаю.
 
Цитата
buchlotnik написал: пятое условие шестому  противоречит для относительно старых товаров
Извиняюсь, некое противоречие.
п. 6. - если из вышеперечисленных условий не соответствует (т.е. может быть новый товар) - то оставить розничную цену.

Цитата
БМВ написал: Максимально низкую  - минимально высокую, что творится в мире!!!?
Максимально низкую - т.е. из возможных 7 вариантов, наименьшую, но не ниже себестоимости (или 0).

Цитата
а 76 и более - это дефицитные?
Чуть ниже в файле есть уточнения. До 75% - это имеется ввиду от 100% до 75% ... и где до 25% имеется ввиду от 0% до 25% ...  
 
Цитата
Ученик Я написал:
До 75% - это имеется ввиду от 100% до 75%
75 включительно или нет?
и
Цитата
buchlotnik написал:
пятое условие шестому  противоречит для относительно старых товаров
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
75 включительно или нет?
все обозначенные параметры (75, 45, 25) - включительно

Цитата
БМВ написал:
и Цитата buchlotnik  написал:пятое условие шестому  противоречит для относительно старых товаров
уточнил чуть выше.  
 
4 и 2 тоже конфликтуют
Уверенности нет, но
=CHOOSE(MATCH(MATCH(C4;{0;"01.01.2019";"01.05.2020"}-1)*10+LOOKUP(G4;{0;25;45;75}%;{1;2;3;4});{0;22;24;40});MAX(MIN(J4:P4);F4);AVERAGE(J4:P4);MAX(J4:P4;H4);H4)
думал везде поменял, а оказалось только в последней строке
можно так

=CHOOSE(MATCH(MATCH(C10;{0;"01.01.2019";"01.05.2020"}-1)*10+MATCH(G10;{0;25;45;75}%);{0;22;24;30});MAX(MIN(J10:P10);F10);AVERAGE(J10:P10);MAX(J10:P10;H10);H10)
Изменено: БМВ - 06.12.2020 00:12:02
По вопросам из тем форума, личку не читаю.
 
2. Для товаров, которые достаточно и умеренно продаваемые, из ценового диапазона цена1-цена7 выбрать максимально низкую цену, но не ниже себестоимости.

Исправил
 
Цитата
Ученик Я написал:
Исправил
выше предположил
По вопросам из тем форума, личку не читаю.
 
Выдает ошибку
 
Вы бы вместо того, чтобы цитировать, показали, где не работает.
 
Цитата
vikttur написал:
где не работает.
так везде в России не работает. Надо импортозамещение наверно провести  :D
По вопросам из тем форума, личку не читаю.
 
БМВ, где тут кнопка "Like"? :))))

vikttur , не работает, если есть в вариантах возможных цен (J:P) значение 0. Выдает ошибку
В целом, где нет 0 - работает!  
 
Как легче помогать: посмотреть "вживую", в файле-примере, или восстаналивать по Вашему описанию? Ученик, учитесь себе помогать и прилагать максимум усилий для получения результата...
 
Согласен.
Прилагаю рабочий пример.

P.S. можно ли добавить еще один критерий?
Например, при идентичных параметрах года / продаваемости, в зависимости от остатка - чем больше остаток, определять цены "наименьший +1", т.е. от определяемого наименьшего показателя + 1 позиция. К примеру, если кол-во 1 то наименьший (к примеру цена 8), если количество 10 - то наименьший + 1 (к примеру цена 7), если количество более 10, то наименьший +2 (к примеру цена 6)
Изменено: Ученик Я - 06.12.2020 00:57:57
 
Цитата
Ученик Я написал:
P.S. можно ли добавить еще один критерий?
количество изменений от исходной задачи  в геометрической регрессии снижает желание помогать.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
=CHOOSE(MATCH(MATCH(C10;{0;"01.01.2019";"01.05.2020"}-1)*10+MATCH(G10;{0;25;45;75}%);{0;22;24;30});MAX(MIN(J10:P10);F10);AVERAGE(J10:P10);MAX(J10:P10;H10);H10)
По этой выдает либо ошибку, либо себестоимость

прикрепил скриншот.
Изменено: Ученик Я - 06.12.2020 11:02:29
 
Цитата
БМВ написал:
количество изменений от исходной задачи  в геометрической регрессии снижает желание помогать.
Я для уточнения спросил. Если есть возможность, то как это сделать?

И еще, можете пояснить в предложенной формуле:
- даты зафиксированы в строке формулы. А можно ли их сделать динамическими, привязать к соответствующим ячейкам с датами?
- можете прояснить эту часть в формуле, для чего это? Изменение какого параметра потребует внесения корректировки к этим?
{0;22;24;30}
Спасибо.  
 
Цитата
Ученик Я написал:
А можно ли их сделать динамическими
можно, пометите их на лист, и сошлитесь на этот диапазон.
Цитата
Ученик Я написал:
для чего это?
для определения какое вычисление применить. предыдущие вычисления рассчитывают вес выполненных условий, а указанные граничные параметры определяют переход к другой формуле.
Цитата
Ученик Я написал:
либо ошибку, либо себестоимость
пример есть? По фотографии порчу с формул не снимаем.
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
пример есть? По фотографии порчу с формул не снимаем.
Прикрепляю файл.
Добавил ячейки дат - дата прихода / дата сверки (т.е. диапазон поиска товаров). Самому в формуле указать этот диапазон не получилось.
Можете также добавить критерий по количеству остатка?

P.S. не ругайтесь сильно, я только учусь.

Спасибо.  
 
Цитата
Ученик Я: Самому в формуле указать этот диапазон не получилось
кого вы обманываете - вы и не пытались  :D
вместо =01/01/2020 можно указать =A1, а в ячейку A1 записать 01/01/2020  ;)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Вангую, даты через копирование от куда-то вставляли, так вот там текст, а не дата
под этот случай некоторое измнение
=CHOOSE(MATCH(MATCH(--C5;{0"01.01.2019""01.05.2020"}-1)*10+MATCH(--G5;{0\25\45\75}%);{0\22\24\30});MAX(MIN(J5:P5);F5);AVERAGE(J5:P5);MAX(J5:P5;--H5);--H5)
если везде текст, но (J:P) уж контролируйте сами. конечно и это можно решить, но ...
По вопросам из тем форума, личку не читаю.
 
БМВ, нет, не везде текст.
Настроил дату по формату как дата, % - как процентный. Только вот остальные ячейки были в общем формате. После этой формулы - вовсе ругается.

Можете, пожалуйста, внутри файла примера сделать и прикрепить файл.
пасибо.

Цитата
Jack Famous написал: ...в ячейку A1 записать 01/01/2020
просто вписать - выдает ошибку в формуле.
Подскажите как "01.01.2018" в формуле можно сменить на ячейку А1? Вписать просто А1 - выдается ошибка.  
 
Цитата
Jack Famous: вместо =01/01/2020 можно указать =A1, а в ячейку A1 записать 01/01/2020
Цитата
Ученик Я: Подскажите как "01.01.2018" в формуле можно сменить на ячейку А1?
отныне я вас считаю троллем и помогать далее не собираюсь. Удачи!
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Ученик Я, учитесь цитировать, не захламляйте тему бездумным копированием.
 
Цитата
Ученик Я написал:
Настроил дату по формату как дата, % - как процентный.
это не значит что там не остался текст. Смотрите то что помечено.
Ученик Я, Не самый лучший пример, на котором нужно познавать азы или начальный уровень Excel
Изменено: БМВ - 06.12.2020 12:15:25
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал: Смотрите то что помечено.
Увидел. Понятно, спасибо.
Вопрос, в прикрепленном Вами файле колонка I обратите внимание - цены не совсем из заданного диапазона берутся. Это почему?
(пример: I5; I11; I12; I13)
 
Цитата
Ученик Я написал:
цены не совсем из заданного диапазона берутся.
Почему не из заданного?
Относительно старые и стабильно продаваемые ну разве что это относить к тому что не подошло никуда, то да не верно.
По вопросам из тем форума, личку не читаю.
 
на самом деле, ситуация такая.
Есть очень большой лист информации - товаров.
Есть множество параметров по этим товарам, начиная от названия, бар-кода, сезонности, даты прихода, количества прихода, количества остатка, себестоимости, розничной цены и т.д. Есть так же проблема, что по некоторым товарам либо отсутствует дата прихода или количество прихода.
Задача стоит такая.
В зависимости от "новизны", "продаваемости", "остатка" товара, определить соответствующую новую цену, из предварительно рассчитанного диапазона новых цен.
Определение новой цены по логике - старый товар, не продаваемый, с малым остатком - самая низкая новая цена. "Нулевые" цены должны исключаться. Т.е. чем выше параметр из критериев "новизна", "продаваемости", "остатка" товара - тем новая цена идет выше. При этом, новая цена не должна быть ниже себестоимости, и не выше розничной цены. В случае если нет новой цены в диапазоне, то вставляется себестоимость товара. Где нет даты прихода и/или количества прихода - формула не должна выдавать результат "ошибка", а пропускать эти условия и далее по логике "остатка" товара предлагать вариант цены (максимально близкий к розничной цене).
Точка определения новизны товара - отдельная ячейка - дата. Товары оприходованные позже указанной даты - не должны подпадать.
В примерных файлах попытался это как то отразить, но не особо получилось.

Постарался максимально описать задачу.  
Изменено: Ученик Я - 06.12.2020 21:28:43
 
можно ли это реализовать через формулу в эксель?  
Страницы: 1 2 След.
Наверх