Çàïîëíÿåì òàáëèöó çíà÷åíèÿìè, êàê óêàçàíî â óñëîâèè ò.å 5 ðàçíîâèäíîñòåé êîìïëåêòóþùèõ ðàñïîëîæåííûõ â ÿ÷åéêàõ B2:F2, è 9 âàðèàíòîâ ñòîèìîñòåé êîìïëåêòóþùèõ â ÿ÷åéêàõ A3:A11.  ÿ÷åéêàõ B3:F12 áóäåò ðàñïîëàãàòüñÿ çíà÷åíèÿ ñòîèìîñòåé êîìïëåêòóþùèõ è ñòîèìîñòè ðàáîòû äî êîìïëåêòàöèè.
 ÿ÷åéêàõ G3 ïî ôîðìóëå =ÑÓÌÌ(B3:F3) ñ÷èòàåòñÿ îáùàÿ ñòîèìîñòü âñåõ êîìïëåêòóþùèõ, ðàñòÿãèâàåì ìàðêåð ÿ÷åéêè G3 äî ÿ÷åéêè G11, è ïîëó÷àåì ñòîèìîñòü âñåõ êîìïëåêòóþùèõ äëÿ âñåõ âàðèàíòîâ ñòîèìîñòåé.
 ïðîãðàììå îïðåäåëÿåòñÿ êàêàÿ äåòàëü â êàêîì ìåñòå ñàìàÿ äåøîâàÿ, åñëè íå ó÷èòûâàòü òðàíñïîðòíûå çàòðàòû è çàäàòüñÿ öåëüþ êóïèòü äåòàëè ïî ìèíèìàëüíûì öåíàì. Äëÿ ýòîãî â ïðîãðàììå îïðåäåëÿþòñÿ ìèíèìàëüíûå ñòîèìîñòè ïî 5-òè äåòàëÿì.
Ïîëó÷åííàÿ âåäîìîñòü áóäåò âûãëÿäåòü ñëåäóþùèì îáðàçîì:
Âàðèàíòû | Â è ä û ê î ì ï ë å ê ò ó þ ù è õ | 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 âûâîäèò ýòè îïòèìàëüíûå çíà÷åíèÿ â îêíå ñîîáùåíèé.
Ô-öèÿ íàèáîëüøèé âîçâðàùàåò Ê-å íàèáîëüøåå çíà÷åíèå èç ìíîæåñòâà äàííûõ . Ýòà ô-öèÿ èñïîëüçóåòñÿ äëÿ òîãî ÷òîáû âûáðàòü çíà÷åíèå ïî åãî îòíîñèòåëüíîìó ìåñòîïîëîæåíèþ. Íàïðèìåð, ôóíóöèþ ÍÀÈÁÎËÜØÈÉ ìîæíî èñïîëüçîâàòü äëÿ òîãî ÷òîáû îïðåäåëèòü íàèëó÷øèé, âòîðîé, òðåòèé ðåçóëüòàò â áàëàõ, ïîêàçàííûé ïðè òåñòèðîâàíèè. Ñèñòàêñèñ ïðîãðàììû òàêîé: