Подстановка формулы по 4м параметрам

Автор smartus, 12.03.2012, 11:16

« назад - далее »

smartus

Доброго времени суток, гуру VBA! Нужна ваша помощь в следующем деле:
Нужен макрос, который будет проставлять скидку на товар исходя из 4х параметров.
1й - бренд, 2й - раздел, 3й - категорий, 4й - диапазон цен.
Пример:
HP peripherals   Устройства печати и сканирования   Принтеры лазерные монохромные      <350      2,5%
HP peripherals   Устройства печати и сканирования   Принтеры лазерные монохромные      >350      3,0%

Дополнительные параметры:
- если не указан диапазон (4), то формула применяется ко всем значениям цены;
- если не указана категория (3), то формула применяется ко всем товарам раздела;
- соответственно, если не указан раздел (2), то формула применяется ка всему бренду;
- если не указано значение скидки (5), то значение = 0
- если не указано ни одно из условий, то скидка = 0
Скидку нужно подставлять в колонку G

Файл в аттаче. Лист1 - пример прайса. лист2 - значения скидок

Заранее благодарствую за помощь ::)

sergo44441

Думаю, так можно. Проверьте только
Ноутбуки у вас разделяются на бизнес и профи, сделал нечеткое сравнение ячеек
Не торопись, и все успеешь намного быстрее

smartus

судя по всему, считает просто отлично. Но у меня глупый вопрос: как сделать макрос видимым в списке макросов и при этом оставить его работоспособность? Либо как его запустить без имени? Добавил Sub Skidka() и End Sub - макрос в списке есть, но дальше создания выпадающих списков на первой строке не уходит. Перенос в Личную книгу макросов не обязателен. Excel 2007

sergo44441

это пользовательская функция, переделать ее в макрос, работающий от нажатия кнопки?
Не торопись, и все успеешь намного быстрее

smartus

Можно и в обычный макрос, который запускается из Личной книги макросов вручную. Я просто ни разу не сталкивался с функциями. Если объясните как ее запускать - буду благодарен) в сети инфы не нашел(

ShAM

#5
Встаете на нужную ячейку. Жмете fx (вставка функции), в Категории выбираете "Определенные пользователем", там выбираете нужную функцию (skidka), проставляете нужные аргументы, жмете ОК.
Или прямо в ячейке набираете =skidka(нужные аргументы), Enter.

smartus

спасибо за подсказку, нашел где запускать. правда ничего не получилось( Поэтому лучше пусть будет макрос. Спасибо за терпение

sergo44441

Пожалуйста, с помощью макроса, как просили
Не торопись, и все успеешь намного быстрее

smartus

Сергей, огромное спасибо! все работает отлично. Прописал остальные условия, все замечательно проставляет!