Смекни!
smekni.com

Решение экономических задач с помощью VBA (стр. 5 из 10)

3 ïîëÿ ââîäà ñî ñ÷åò÷èêàìè: Âîçâðàñò,Îêëàä,îòïóñê

2.3 Ïîäðîáíîå îïèñàíèå çàäà÷

2.3.1 Íà÷èñëåíèå ïðåìèè â âèäå êîììèñèîííûõ è äîïîëíèòåëüíîé îïëàòû.

Ñîçäàåì òàáëèöó íà÷èñëåíèÿ ïðåìèé, â ÿ÷åéêè B4:D10 çàíîñèì çíà÷åíèÿ äîõîäîâ ìàãàçèíîâ çà óêàçàííûå ìåñÿöû, ñáîêó â ÿ÷åéêàõ A4:A10 áóäóò ðàñïîëàãàòüñÿ íàçâàíèÿ ìåñÿöåâ, ñîãëàñíî âàðèàíòó – ñ íîÿáðÿ ïî ìàé, à â B3:D3 – ìàãàçèíû, òàêèì îáðàçîì íà ïåðåñå÷åíèè áóäåò ïîêàçàíà âåëè÷èíà äîõîäà ìàãèçèíà êîòîðûé íàõîäèòñÿ â ýòîì ñòîëáöå è ìåñÿöà êîòîðûé ðàñïîëîæåí â ýòîé ñòðîêå.

 ÿ÷åéêå B11 ñ÷èòàåì äîõîä 1-ãî ìàãàçèíà çà âñå ìåñÿöû ïî ôîðìóëå =ÑÓÌÌ(B4:B10), è ðàñòÿãèâàåì ìàðêåð ÷åðòåæà äî ÿ÷åéêè D10, òàêèì îáðàçîì ïðîèçâîäèòñÿ ïîäñ÷åò äîõîäîâ âñåõ ìàãàçèíîâ çà âñå ìåñÿöû.

Îïðåäåëÿåì êàêèå æå èç äîõîäîâ ìàãàçèíîâ ïðåâûøàþò 1490.00 ãðâ. , äëÿ êîòîðûõ âõîäÿò â ýòî ÷èñëî ïðåìèàëüíûå áóäóò ñîñòàâëÿòü â ñîîòâåòñòâèè ñ óñëîâèåì 2% îò äîõîäà çà ýòè ìåñÿöû, îñòàëüíûå ýë-òû â ìàññèâå ñïåöèàëüíî çàïîëíÿþòñÿ íóëÿìè.

Do

k = mas1(i)

If k > 1490 Then mas2(i) = mas1(i) Else mas2(i) = 0

i = i + 1

Loop Until i = 4

 ýòîì öèêëå â ìàññèâ çàíîñÿòñÿ òîëüêî òå çíà÷åíèÿ êîòîðûå ïðåâûøàþò çàäàííîå ïî óñëîâèþ çíà÷åíèå äîïóñòèìîñòè, â äàííîì ñëó÷àå ýòî 1490,00 ðóá.

Òåïåðü äîõîäû ñðåäè îñòàâøèõñÿ ìàãàçèíîâ íóæíî ðàñïðåäåëèòü ïî óáûâàíèþ, äëÿ òîãî, ÷òîáû â ñîîòâåòñòâèè ñ óñëîâèåì íà÷èñëèòü ìàãàçèíàì äîïîëíèòåëüíûå ïðåìèàëüíûå çà 1-å, 2-å, 3-å ìåñòî. Äëÿ ýòîãî âûáèðàåì ñëåäóþùèé àëãîðèòì: íàõîäèì ìàêñèìóì ñðåäè ýòèõ äîõîäîâ è íàçíà÷àåì ýòîìó ìàãàçèíó ñîîòâåòñòâóþùóþ 1-ìó ìåñòó ïðåìèþ, çàìåì âûáèðàåì ìàêñèìóì èç äîõîäîâ íå ó÷èòûâàÿ óæå ñóæåñòâóþùèé (ò.å. íå ó÷èòûâàÿ ïåðâûé ìàêñèìóì), è íàçíà÷àåò ýòîìó ìàãàçèíó ñîîòâ. 2-ìó ìåñòó ïðåìèþ è ò.ä.

Do

i = i + 1

If mas2(i) > Max Then

Max = mas2(i)

indm = i

End If

Loop Until i = 3

Ñêëàäûâàåì ïîëó÷åííûå 2% ñ òåìè ÷òî íà÷èñëÿþòñÿ äîïîëíèòåëüíî çà 1,2,3 è ò.ä ìåñòà, è çàíîñèì ðåçåëüòàòû â òàáëèöó â ñòðîêó “Ïðåìèàëüíûå”

Worksheets([ëèñò]).Cells([êîîðäèíàòû ÿ÷ååê]).Value = Max * 0.02 + Max * 0.04

Ìåñÿö Ì à ã à ç è í û
1 2 3
Íîÿáðü 100 100 120
Äåêàáðü 300 150 650
ßíâàðü 1000 130 250
Ôåâðàëü 1000 120 50
Ìàðò 0 100 760
Àïðåëü 100 100 0
Ìàé 310 600 500
Âñåãî 2810 1300 2330
Ïðåìèàëüíûå! 168,6 0 93,2

2.3.2 Íà÷èñëåíèå ïðåìèè ïî îïðåäåëåííûì óñëîâèÿì

Ñîçäàåì òàáëèöó íà÷èñëåíèÿ ïðåìèé, çàïîëíÿåì åå âåëè÷èíàìè äîõîäîâ çà óêàçàííûå ìåñÿöû, è ñ÷èòàåì ñóììó äîõîäîâ çà âñå ìåñÿöû. Ïîäðîáíîå îïèñàíèå êàê ñîçäàâàòü òàáëèöó è çàïîëíÿòü åå çíà÷åíèÿìè ïðèâîëèòñÿ â ïðåäûäóùåì ïóíêòå.

Îïðåäåëÿåì êàêèå èç ïîëó÷åííûõ ñóìì äîõîäîâ ëåæàò â êàêîé èç 4-õ óêàçàííûõ â óñëîâèè îáëàñòåé è çàíîñèì ðåç-òû â òàáëèöó â ÿ÷åéêè B12:D12 êîòîðûå îòîáðàæàþò ïðåìèàëüíûå

Do

i = i + 1

If AA_1(i) < 700 Then Worksheets("Çàäàíèå2").Cells(12, i + 1).Value = Worksheets("Çàäàíèå2").Cells(11, i + 1).Value * 0.01

If AA_1(i) >= 700 And AA_1(i) < 1400 Then Worksheets("Çàäàíèå2").Cells(12, i + 1).Value = Worksheets("Çàäàíèå2").Cells(11, i + 1).Value * 0.015

If AA_1(i) >= 1400 And AA_1(i) < 2800 Then Worksheets("Çàäàíèå2").Cells(12, i + 1).Value = Worksheets("Çàäàíèå2").Cells(11, i + 1).Value * 0.023

If AA_1(i) >= 2800 Then Worksheets("Çàäàíèå2").Cells(12, i + 1).Value = Worksheets("Çàäàíèå2").Cells(11, i + 1).Value * 0.025

Loop Until i = 3

Ïîëó÷åííàÿ òàáëèöà âûãëÿäèò ñëåäóþùèì îáðàçîì:

Ìåñÿö Ì à ã à ç è í û
1 2 3
Íîÿáðü 50 100 120
Äåêàáðü 50 150 650
ßíâàðü 100 130 250
Ôåâðàëü 100 120 50
Ìàðò 120 100 760
Àïðåëü 100 100 1000
Ìàé 50 600 500
Âñåãî 570 1300 3330
Ïðåìèàëüíûå! 5,7 19,5 83,25

2.3.3 Ñîñòàâëåíèå âåäîìîñòè ðàñ÷åòà ïðèáûëè îò òîâàðà