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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2010, 21:56   #1
t-e-x-a-c
 
Регистрация: 29.04.2010
Сообщений: 3
Лампочка Реально ли выполнить такую формулу в Microsoft Office Excel

Добрый день!
Я работаю торговым представителем в оптовой компании (продукты)
У нас существует мотивация под названием "21 клиент", схема следующая: например я продал пиво в 42 торговых точки, с 20 по 25 точку получаю по 10 рублей за каждую точку; с 26 по 30 - 20 рублей; с 31 по 35 - 30 рублей; с 36 - все последующие точки по 40 рублей за каждую. За 42 сработавшие точки получил бонус 580 рублей.

Очень хотелось бы оформить такую формулу в Microsoft Office Excel, это реально ?
t-e-x-a-c вне форума Ответить с цитированием
Старый 29.04.2010, 22:27   #2
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от t-e-x-a-c Посмотреть сообщение
Добрый день!

Очень хотелось бы оформить такую формулу в Microsoft Office Excel, это реально ?
Здравствуйте.
Более чем реально. Файл выкладывайте.
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 29.04.2010, 22:41   #3
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

Наверно правильнее 580 руб. получить за 37 точек,а 780 руб. за 42 точки.
Код:
=ВЫБОР((A1>=0)+(A1>=20)+(A1>25)+(A1>30)+(A1>35);0;A1*10;250+(A1-25)*20;350+(A1-30)*30;500+(A1-35)*40)
В A1 кол-во точек.

Последний раз редактировалось ZORRO2005; 29.04.2010 в 22:48.
ZORRO2005 вне форума Ответить с цитированием
Старый 29.04.2010, 23:12   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

То ZORRO2005 правильный ответ 580 =5*10+5*20+5*30+5*40+2*40
Код:
=Pivo(A1)
Время было написал для прикола.
Код:
Function Pivo(Rn As Range) As Long
  Dim rez, rezult As String
  Dim Pv As Long
  Dim Md As Long: Dim mm As Long: Dim n As Long
  Pv = Rn.Value
  If Pv < 21 Then Pivo = 0: Exit Function
 For n = 0 To Pv - 21
   mm = n: rez = ""
 Do While mm >= 5
      Md = mm Mod 5
      mm = Int(mm / 5)
      rez = Md & rez
     Loop
 rezult = rezult & mm & rez & vbCrLf
Next
rezu = Split(rezult, vbCrLf, -1)
Dim Tuborg As Long
For n = 0 To UBound(rezu) - 1
If Int(rezu(n) / 10) > 3 Then
Tuborg = Tuborg + 40
Else
Tuborg = Tuborg + (1 + Int(rezu(n) / 10)) * 10
End If: Next
Pivo = Tuborg
End Function
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 29.04.2010 в 23:15.
doober вне форума Ответить с цитированием
Старый 29.04.2010, 23:25   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вот вариант чуть короче:
Код:
=СУММПРОИЗВ((A1>{4;5;6}*5)*МИН(A1-{4;5;6}*5;5)*{10;20;30})+(A1>35)*(A1-35)*40
В А1 пишем количество точек, которые приобрели пиво. Для 42 точек формула выдала 580 руб. бонусов.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 29.04.2010, 23:31   #6
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

Подправил:
Код:
=ВЫБОР((A1>=0)+(A1>20)+(A1>25)+(A1>30)+(A1>35);0;(A1-20)*10;50+(A1-25)*20;150+(A1-30)*30;300+(A1-35)*40)
только в условии тогда должно быть:
с 21 по 25 точку получаю по 10 рублей

IgorGO, проверь с 21 по 30

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

ZORRO2005, спасибо! да, уж... штанга та еще
исправлено, проверено
Код:
=СУММПРОИЗВ((A1>{4;5;6}*5)*ЕСЛИ(A1-{5;6;7}*5>=0;5;A1-{4;5;6}*5)*{10;20;30})+(A1>35)*(A1-35)*40
а если обьявить три имени
д1 ={20;25;30}
д2 ={25;30;35}
д3 ={10;20;30}
то формулу можно записать намного короче (только теперь это формула массива)
Код:
=СУММПРОИЗВ((A1>д1)*ЕСЛИ(A1-д2>=0;5;A1-д1)*д3)+(A1>35)*(A1-35)*40
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 30.04.2010 в 01:24.
IgorGO вне форума Ответить с цитированием
Старый 30.04.2010, 20:39   #8
t-e-x-a-c
 
Регистрация: 29.04.2010
Сообщений: 3
По умолчанию

Всем большущее спасибо , тему впринципе можно закрыть
t-e-x-a-c вне форума Ответить с цитированием
Старый 30.04.2010, 21:01   #9
t-e-x-a-c
 
Регистрация: 29.04.2010
Сообщений: 3
По умолчанию

Всем огромное спасибо !!!!!!!!!! Всем признателен!
t-e-x-a-c вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматически изменять первую букву в слове на заглавную для Microsoft Office Excel. agregator Microsoft Office Excel 17 24.02.2012 10:56
как сохранить прайс в Microsoft Office Excel в фор CVS jonsk Microsoft Office Excel 5 20.01.2010 12:01
Объединение (синхронизация) данных в Microsoft Office Excel Алексндр Microsoft Office Excel 2 29.07.2008 08:12
Microsoft Office юлиия Свободное общение 4 03.05.2008 12:16