Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2010, 15:16   #1
7-nadiya
 
Регистрация: 04.04.2010
Сообщений: 6
По умолчанию Формула для автоматического расчета покупки

Помогите решить задачу, очень прошу.
Желательно, чтобы все условия были охвачены в одной формульной строке, если это возможно. Очень надеюсь на вашу помощь.
Условие следующее: Напишите формулу для расчета покупки, в которой автоматически будет выбираться нужный процент скидки.
Вложения
Тип файла: rar Задача.rar (4.1 Кб, 24 просмотров)

Последний раз редактировалось 7-nadiya; 15.05.2010 в 15:31.
7-nadiya вне форума Ответить с цитированием
Старый 15.05.2010, 17:47   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см.вложение
Вложения
Тип файла: rar Книга333.rar (4.3 Кб, 24 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 15.05.2010, 19:47   #3
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

Или так:
Код:
=ЕСЛИ(F8<C8;G8;G8*(1-ИНДЕКС(B$2:B$4;ПОИСКПОЗ(F8;C8:E8))))
формула неправильная
Вложения
Тип файла: rar Задач_а.rar (4.2 Кб, 16 просмотров)
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн

Последний раз редактировалось DV68; 16.05.2010 в 16:10.
DV68 вне форума Ответить с цитированием
Старый 15.05.2010, 19:55   #4
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

А я думаю так:
Код:
=G8*(1-ЕСЛИ(F8>C8;ИНДЕКС($B$2:$B$4;ПОИСКПОЗ(F8;C8:E8+1;1))))
Формула массива.
ZORRO2005 вне форума Ответить с цитированием
Старый 15.05.2010, 20:16   #5
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

Ну зачем же сразу формулу массива
Код:
=ЕСЛИ(F8<=C8;G8;G8*(1-ИНДЕКС(B$2:B$4;ПОИСКПОЗ(F8;C8:E8)-НЕ(ЕНД(ГПР(F8;C8:E8;1;0))))))
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
DV68 вне форума Ответить с цитированием
Старый 15.05.2010, 23:20   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Господа, не желаете ли размять мозг?
Я написал формулу длинной 40 символов (с фигурными скобками 42), которая полностью решает данную задачу.
Не использовал имена, макросы, никак не правил и не перемещал исходные данные. Все в файле осталось как было, просто в Н8:Н11 записана новая формула, ее длина 40 символов.

ZORRO2005, DV68 успехов!
Господа присоединяйтесь...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 16.05.2010, 00:24   #7
kim2
Форумчанин
 
Регистрация: 23.03.2010
Сообщений: 101
По умолчанию

Прошу прощения что вмешиваюсь, возможно Ваш вариант напоминает:
=G8-СМЕЩ(B$1;СУММ(Ч(F8>C8:E8))*G8
Может ребята придумают что-нибудь еще
kim2 вне форума Ответить с цитированием
Старый 16.05.2010, 00:41   #8
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

H8:
Код:
=G8*(1-МАКС(ТРАНСП(F8>C8:E8)*B$2:B$4))
формула массива

Последний раз редактировалось ZORRO2005; 16.05.2010 в 00:59.
ZORRO2005 вне форума Ответить с цитированием
Старый 16.05.2010, 01:01   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ZORRO2005, я в тебя верил.
Две скобки сэкономлено, по сравнению с тем, что я накрапал. А сказал бы что формула на 38 символов, я бы попарился с поиском...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 16.05.2010, 05:21   #10
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

ZORRO2005, молодец!
Кстати, можно и 37 символов

Добавил:
и даже 35

Еще добавил:
kim2, извини, сразу не заметил твоего решения, там тоже 35, но по другому.
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн

Последний раз редактировалось DV68; 16.05.2010 в 06:16.
DV68 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формула для расчета времени 7-nadiya Microsoft Office Excel 14 19.08.2016 11:23
Существует ли компонент для автоматического масштабирования zmey31313 Компоненты Delphi 1 12.12.2009 03:11
Создание макроса для автоматического расчета нескольких сценариев реализации проекта MaxxVer Microsoft Office Excel 2 11.09.2009 06:15
Формула расчета стоимости доставки Андрей 2009 Microsoft Office Excel 12 08.04.2009 12:52
Программа для автоматического заполнения полей Маркъ Общие вопросы Delphi 2 23.06.2007 12:38