Решение экономических задач с помощью VBA
Рефераты >> Программирование и компьютеры >> Решение экономических задач с помощью VBA

Полученная ведомость будет выглядеть следующим образом:

Варианты

В и д ы к о м п л е к т у ю щ и х

MIN / MAX

Стоимости

1-я деталь

2-я деталь

3-я деталь

4-я деталь

5-я деталь

Всего

 

1-й

20

90

5

50

60

225

 

2-й

19

85

4

55

50

213

 

3-й

20

81

4

50

56

211

Миним. Цена на товар

4-й

25

87

8

57

58

235

 

5-й

29

87

5

55

60

236

 

6-й

18

88

4

40

61

211

 

7-й

30

99

9

66

60

264

 

8-й

30

99

9

66

64

268

Макс. Цена на товар

9-й

21

90

6

54

55

226

 

До комплектации

15

75

3

40

50

183

 

2.3.4 Модель управления запасами

Вводим исходные значения , т.е. значения покупки продавцом журналов, продажи этих журналов и возврата в типографию в случае не реализации товара. Ввод всего этого производится в диалоговом окне, которое создается как UserForm со специальными кнопками и полями ввода покупки журналов, продажи, и возврата к типографию. Окно ввода выглядит так:

Составляем таблицу состоящую из обьема реализации, числа событий, и вероятности этих событий, первые два нам даны по условию а вероятность этих событий нужно посчитать. Вводим в ячейку D7 следующую формулу вычисления вероятностей {=D6/СУММ($D$5:$I$5)}

и растягиваем маркер до ячейки I7.

В ячейках C10:H15 спомощью ф-ции пользователя CALC Вычисляем финансовые исходы при всевозможных вариантых событий покупки журналов и их реализации

Function CALC(buy As Variant) As Variant

Dim Цена_продажы, Цена_покупки, Цена_возврата, NRows, i, j As Integer, Result() As Integer

NRows = buy.Rows.Count

Цена_продажы = Range("a2").Value

Цена_покупки = Range("b2").Value

Цена_возврата = Range("c2").Value

ReDim Result(NRows, NRows)

For i = 1 To NRows

For j = 1 To NRows

If i <= j Then Result(i, j) = buy(i) * (Цена_продажы - Цена_покупки)

If i > j Then Result(i, j) = buy(j) * (Цена_продажы - Цена_покупки) - (buy(i) - buy(j)) * (Цена_покупки - Цена_возврата)

Next j

Next i

CALC = Result

End Function

В ячейках J11:J16 с помощью формулы {=МУМНОЖ(C10:H15;ТРАНСП(D7:I7))} находим ожидаемую прибыль, соответсввующую различным вариантам покупки журналов.

В ячейке F16 спомощью формулы =НАИБОЛЬШИЙ(J11:J16;1)

вычисляем максимальную прибыль . Ее также можно найти воспользовавшись ф-цией МАКС, находящей максимальный эл-т из списка

=Макс(J11:J16)

В ячейке F17 по формуле =(ПОИСКПОЗ(НАИБОЛЬШИЙ(J11:J16;1);J11:J16;0)-1)*5

соответствующий оптимальный обьем покупок газет. Затем функция CALC выводит эти оптимальные значения в окне сообщений.

Ф-ция наибольший возвращает К-е наибольшее значение из множества данных . Эта ф-ция используется для того чтобы выбрать значение по его относительному местоположению. Например, фунуцию НАИБОЛЬШИЙ можно использовать для того чтобы определить наилучший, второй, третий результат в балах, показанный при тестировании. Систаксис программы такой:

НАИБОЛЬШИЙ(массив;К) где Массив – это массив или диапазон ячеек где определяется наибольшее значение, к – позиция (начиная с наибольшей) в массиве или диапазоне.

Все результаты занесенные в таблицу будут выглядеть следующим образом:

   

П р о д а ж а

     

П

 

0

4

8

12

14

18

   

о

0

0

0

0

0

0

0

Покупка

Прибыль

к

4

0

0

0

0

0

0

0

- р.

у

8

0

-20

16

16

16

16

4

- р.

п

12

0

-40

-4

32

32

32

8

12,94р.

к

14

0

-60

-24

12

48

48

12

16,88р.

а

18

0

-70

-34

2

38

56

14

9,00р.

   

Максимальная прибыль

16,88р.

   

18

0,28р.

   

Оптимальный обьем

15

       


Страница: