inhoud vorige volgende

10. Productie, voorraad en verkoop

In dit hoofdstuk wordt een werkblad opgesteld waarbij gedurende een periode (een jaar) voor elke maand gegevens of prognoses worden bijgehouden over de voorraadevolutie van een bepaald product, de kosten die daarbij optreden en omzet- en winstgegevens.

Achtereenvolgens worden de volgende zaken behandeld:

De in dit hoofdstuk opgestelde werkbladen bevinden zich in het werkboek Voorraad.xls. Je kan dit openen vanuit P:\Excel 97 en bewaren op je I: schijf. De werkbladen zijn:

De wijze van het in rekening brengen van de kosten is voor discussie vatbaar. De modellen worden met opzet eenvoudig gehouden.

    1. Het model van de voorraden (*)

Beschouw in eerste instantie het volgende model:

Qa = Qb + Qp

Qv = min(Qa,Qd)

Qe = Qa – Qv (en is gegarandeerd 0 of groter)

Qb(maand k+1) = Qe(maand k)

Qs = (Qb + Qe) / 2

De grootheden vallen in drie groepen uiteen:

Je kan opteren om de productie Qp voor alle perioden gelijk te kiezen of in elke periode een andere productie te voorzien. Je kan je ook laten leiden door een verwachte vraag en de productie zo kiezen dat het aanbod juist aan deze verwachte vraag voldoet, of zo dat er een licht overschot is. Niet aan de vraag kunnen voldoen is immers nadelig voor je imago, en kan een toekomstige vraag in negatieve zin beïnvloeden.

Kies er in dit model voor om in elke maand evenveel te produceren en noteer deze vaste maandelijkse productie als Q.

figuur 1: Het werkblad 'Voorraad 1' met het model van de voorraden

Geef in eerste instantie zelf een aantal waarden voor de vraag in. Later zal je de vraagcijfers door Excel laten genereren, waarbij deze normaal wordt verdeeld rond een bepaalde (verwachte) vraag.

Het model wordt weergegeven in het werkblad Voorraad 1 (figuur 1). De commando's en formules zijn:

A1:

naam, Italic knop

B1:

Productie, voorraad en verkoop

B1:G1:

Bold knop, Font Size knop: 14, Merge and Center knop

B2:

maandelijkse productie

E2:

Q, Font Size knop: 14, Center knop

F2:

1000, Format, Cells..., Number tabblad, Category: Custom, Type: 0" e.", Font Color knop: Dark Blue, Bold knop, Center knop

B4:

begin voorraad

B5:

Qb

C4:

productie

C5:

Qp

D4:

aanbod

D5:

Qa

E4:

vraag

E5:

Qd

F4:

verkocht

F5:

Qv

G4:

eind voorraad

G5:

Qe

H4:

gem. Voorraad

H5:

Qs

A5:

maand

B4:H5:

Format, Cells..., Alignment tabblad, Horizontal Center, Vertical Center, Wrap text

B5:H5:

Font Size knop: 14

A6:

januari, sleep fill handle naar A6:A17

A18:

jaartotaal

A19:

gem. maand

A:A:

Format, Column, AutoFit Selection

B6:

0, Font Color knop: Dark Blue

(Qb)

B7:

=G6, sleep fill handle naar B7:B17

 

C6:

=$F$2, sleep fill handle naar C6:C17

(Qp; =Q)

D6:

=B6+C6, sleep fill handle naar D6:D17

(Qa; =Qb+Qp)

E6:E17:

950, 1200, 1000, 900, 950, 1000, 1100, 1050, 950, 1000, 900, 950, Font Color knop: Dark Blue

(Qd)

F6:

=MIN(D6,E6), sleep fill handle naar F6:F17

(Qv)

G6:

=D6–F6, sleep fill handle naar G6:G17

(Qe; =Qa–Qv)

H6:

=(B6+G6)/2, sleep fill handle naar H6:H17

(Qs; =(Qb+Qe)/2)

B18:

=B6

C18:

=SUM(C6:C17)

D18:

=B18+C18

E18:

=SUM(E6:E17)

F18:

=SUM(F6:F17)

G18:

=D18–F18 (of: =G17)

H18:

=AVERAGE(H6:H17)

B19:

=AVERAGE(B6:B17), sleep fill handle naar B19:H19

B6:H19:

Format, Cells..., Number tabblad, Category Custom, Type: 0" e."

A4:H5:

Borders knop: knop 2 (dunne lijn onderaan)

A18:H19:

Borders knop: knop 9 (dunne lijn boven en halfdikke lijn onder range)

A4:H19:

Format, Cells, Border tabblad, klik halfdikke lijn, Presets: Outline knop, klik dunne lijn, Border: verticaal lijn binnenin

 

Tools, Options..., View tabblad, verwijder de aankruising van Gridlines

Opmerkingen:

    1. Het model uitbreiden om kosten, omzet en winst aan te geven (*)

Juist zoals er een evolutie is in de voorraden, is er ook een evolutie in de kosten, omzet en winst. Je kan deze op een analoge wijze in een afzonderlijke tabel plaatsen. In dit werkboek daarentegen wordt de bestaande tabel naar rechts uitgebreid om grootheden die verband houden met geldbedragen aan te geven.

Bekijk vooreerst de in de tabel op te nemen grootheden en de formules die de verbanden aangeven:

Kb(maand k+1) = Ke(maand k)

In de eerste periode (januari) moet je de waarde van Kb intypen, juist zoals die van Qb.

F + cp * Qp

In dit werkblad wordt echter de vaste periodekost F en de variabele productiekost cp*Qp van de periode afzonderlijk verrekend, omdat je enkel deze laatste met de eindvoorraad zal overdragen naar een volgende periode. De variabele productiekost wordt dan gegeven door:

Kp = cp * Qp

Ka = Kb + Kp

Kv = Ka * (Qv / Qa)

Ke = Ka * (Qe / Qa) = Ka – Kv

Deze laatste formule is analoog aan de formule voor Qe.

cs * Qs

Reken deze kost juist zoals de vaste productiekost als een periodekost aan. Deze totale periodekost wordt voorgesteld door Kf (f van fixed - de belangrijkste bijdrage tot de periodekost):

Kf = F + cs * Qs

O = P * Qv

waarbij P de verkoopprijs per eenheid is. Deze grootheid kan je volledig controleren, maar uiteraard zal een verhoging hiervan gewoonlijk een negatieve weerslag hebben op de vraag.

W = O – Kv – Kf

we = W / Qv

Met deze redeneringen is het vrij eenvoudig het werkblad uit te breiden door boven de tabel enkele rijen toe te voegen en vier extra gegevens te voorzien (P, F, cp en cs). Stel ook de belangrijkste resultaten (Wj: de winst op jaarbasis en wje: de jaarlijkse winst per verkochte eenheid) bovenaan in het werkblad voor. Dit resulteert in het werkblad Voorraad 2 (figuur 2).

Om de maandnamen steeds in beeld te hebben moet je de linkerkolom bevriezen. Zo blijft kolom A steeds in beeld. De commando's en formules zijn:

B1:

Window, Freeze Panes

 

Zoom knop: 75%

3,5:

Insert, Rows

I2:

verkoopprijs:

L2:

P

I3:

vaste productiekost:

L3:

F

I4:

variabele productiekost:

L4:

cp

I5:

bewaarkost:

L5:

Cs

L2:L5:

Font Size knop: 14, Center knop

M2:

45, Format, Cells..., Number tabblad, Category Custom,
Type: # ##0 BF"/e."

M3:

10000, Format, Cells..., Number tabblad, Category Custom,
Type: # ##0 BF'/mnd"

M4:

30, Format, Cells..., Number tabblad, Category Custom,
Type: # ##0 BF"/e."

M5:

5, Format, Cells..., Number tabblad, Category Custom,
Type: # ##0 BF"/e./mnd"

M2:N2:

Bold knop, Font Color knop: Dark Blue, Merge and Center knop

M3:N3:

Bold knop, Font Color knop: Dark Blue, Merge and Center knop

M4:N4:

Bold knop, Font Color knop: Dark Blue, Merge and Center knop

M5:N5:

Bold knop, Font Color knop: Dark Blue, Merge and Center knop

I7:

var. kost begin voorraad

I8:

Kb

J7:

var. kost productie

J8:

Kp

K7:

var. kost aanbod

K8:

Ka

L7:

var. kost verkochte hoev.

L8:

Kv

M7

var. kost eind voorraad

M8:

Ke

N7:

periode kost

N8:

Kf

O7:

omzet

O8:

O

P7:

winst

P8:

W

Q7

winst per eenheid

Q8:

we

I7:Q8:

Format, Cells..., Alignment tabblad, Horizontal Center, Vertical Center, Wrap Text

I8:Q8:

Font Size lijst: 14

I9:

0, Font Color knop: Dark Blue

(Kb)

I10:

=M9, sleep fill handle naar I10:I20

J9:

=$M$4*C9

(Kp; =cp*Qp)

K9:

=I9+J9

(Ka; =Kb+Kp)

L9:

=ROUND(K9*F9/D9,0)

(Kv; = Ka*Qv/Qa)

M9:

=K9–L9

(Ke; =Ka–Kv)

N9:

=$M$3+$M$5*H9

(Kf; =F+cs*Qs)

O9:

=$M$2*F9

(O; =P*Qv)

P9:

=O9–L9–N9

(W; =O–Kv–Kf)

Q9:

=P9/F9

(we; =W/Qv)

J9:Q9:

sleep fill handle naar J9:Q20

I21:

=I9

J21:

=SUM(J9:J20)

K21:

=I21+J21

L21:

=SUM(L9:L20)

M21:

=K21-L21

(of: =M20)

N21:

=SUM(N9:N20)

O21:

=SUM(O9:O20)

P21:

=SUM(P9:P20)

Q21:

=P21/F21

I22:

=AVERAGE(I9:I20), sleep fill handle naar I22:P22

Q22:

=P22/F22

I9:P22:

Format, Cells..., Number tabblad, Category Currency,
Decimal Places: 0, Symbol: BF, Negative Numbers: - 1 234 BF

Q9:Q22:

Format, Cells..., Number tabblad, Category Custom,
Type: # ##0.00 BF"/e."

I:Q:

sleep kolomhoofd naar rechts tot alle getallen zichtbaar zijn
(Width: 9.14)

I7:Q8:

Borders knop: knop 2 (dunne lijn onder range)

I21:Q22:

Borders knop: knop 9 (dunne lijn boven en halfdikke lijn onder range)

I7:Q22:

Format, Cells, Border tabblad, Line: halfdik, Presets: Outline, Line: dun, Border: verticaal binnenin

B4:

Jaarlijkse winst:

E4:

Wj

B5:

Gemiddelde winst per eenheid:

E5:

wje

E4:E5:

Font Size knop: 14, Center knop

F4:

=P21, Format, Cells..., Number tabblad, Category Currency,
Decimal Places: 0, Symbol: BF, Negative Numbers: - 1 234 BF

F5:

=Q21, Format, Cells..., Number tabblad, Category Custom,
Type: # ##0 BF"/e."

F4:G5:

Font Color knop: Green, Bold knop, Merge and Center knop

Opmerkingen:

FIFO: =ROUND(IF(F9<=B9, I9*F9/B9, I9+J9*(F9-B9)/C9),0)
(als Qv<=Qb: Kb*Qv/Qb; als Qv>=Qb: Kb+Kp*(Qv-Qb)/Qp)

LIFO: =ROUND(IF(F9<=C9, J9*F9/C9, J9+I9*(F9-C9)/B9),0)
(als Qv<=Qp: Kp*Qv/Qp; als Qv>=Qp: Kp+Kb*(Qv-Qp)/Qb)

De drie methodes leveren hetzelfde resultaat omdat de variabele kosten in elke maand gelijk zijn en er oorspronkelijk geen beginvoorraad is (B9=0, I9=0). Indien er echter een beginvoorraad is en de verhouding tussen de kosten (I9) en hoeveelheid (B9) is niet gelijk aan de variabele kost per eenheid (L4), dan zullen de verschillende methodes verschillende resultaten opleveren. Je kan dit nagaan door in B9 en I9 respectievelijk de waarden 50 en 1400 in te vullen (variabele kost per eenheid van de beginvoorraad: 28 BF).

De hierboven vermelde formules zijn nog niet helemaal correct omdat de beginvoorraad zelf kan bestaan uit delen vervaardigd aan een verschillende variabele kost in verschillende maanden, terwijl in de formules voor elke eenheid in de beginvoorraad dezelfde kost wordt aangerekend. Vooral bij grote beginvoorraden, regelmatig variërende kosten en de LIFO methode, waarbij de oudste voorraden het langst blijven liggen, is de kans op deze fout reëel.

    1. De vraag simuleren (*)

Je kan nu dit model op twee wijzen gebruiken:

In het eerste geval zijn alle gegevens, inclusief de vraag, bekend tot op een bepaald tijdstip. In het laatste geval maak je voorspellingen en moet je de vraag inschatten.

In het model werden zelfgekozen waarden ingevuld voor de vraag in kolom E. Bij andere waarden zullen de resultaten uiteraard verschillen. Een meer realistische situatie is de volgende:

Neem aan dat de vraag een toevalsgrootheid is. Deze toevalsgrootheid is normaal verdeeld met als gemiddelde waarde de verwachte vraag en een zekere spreiding. De verdelingsfunctie heeft dus een klokvorm. Voor meer informatie over de eigenschappen van de normale verdeling wordt verwezen wij naar de cursus "Kansrekening en Statistiek".

Excel beschikt over de functie RAND(), die een toevalsgetal oplevert dat uniform verdeeld is tussen 0 en 1. Dit betekent dus dat alle tussenliggende waarden met evenveel waarschijnlijkheid kunnen voorkomen. Je kan een toevalsgetal verkrijgen dat normaal verdeeld is met gemiddelde waarde m en standaardafwijking s door op dit uniform verdeeld toevalsgetal de inverse functie van de (cumulatieve) normale verdeling toe te passen. Dit gebeurt in Excel met de functie NORMINV(RAND(),m,s).

Het resultaat wordt gevormd door het werkblad Voorraad 3 (figuur 3).

Om hiervan gebruik te maken moet je het vorige werkblad als volgt aanpassen:

  1. Schuif alle cellen in de tabel vanaf kolom E naar rechts op:
  2. E7:E22:

    Insert, Cells..., Shift cells right

    Hierdoor ontstaat in de tabel een nieuwe lege kolom E. De vormgeving (randen van de cellen) wordt automatisch aangepast zoals gewenst.

  3. Wijzig de titels van kolommen E en F zodat ze de verwachte vraag (Qdv) en de werkelijke (gesimuleerde) vraag (Qd) aangeven:
  4. E7:

    verwachte vraag

    F7:

    werkelijke vraag

    E8:

    Qdv

  5. Kopieer de vraagcijfers en de formules met totalen van kolom F naar kolom E:
  6. F9:F22:

    ctrl+sleep naar E9:E22

    E9:E22:

    Font Color knop: Automatic

  7. Plaats de formule voor de werkelijke vraag in de cellen van kolom F, waarbij je de verwachte vraag als gemiddelde en 1/20 ervan als standaardafwijking neemt. Dit betekent dat je met een kans van 68% hoogstens één maal de standaardafwijking afwijkt van de gemiddelde waarde, en met een kans van 95% hoogstens 1.96 maal de standaardafwijking afwijkt van de gemiddelde waarde. Wanneer m = 1000, zal met de gekozen waarde s = 1000/20 = 50 overeenkomen.
  8. F9:

    =ROUND(NORMINV(RAND(),E9,E9/20),0), sleep fill handle naar F9:F20

    Met de ROUND functie verkrijg je gehele waarden voor de werkelijke vraag.

    Nu krijg je normaal verdeelde waarden in de kolom F. Deze zullen afhankelijk van het tijdstip verschillen, en bij elke nieuwe actie waarbij een berekening optreedt wijzigen. Dit laatste is storend. Daarom moet je gepaste maatregelen nemen om de zaak te stabiliseren (zie infra).

  9. Het model houdt nu rekening met de werkelijke vraag, maar de getalwaarden veranderen bij nagenoeg elke actie. Zet daarom de formules in kolom F om in hun getalwaarden:

F9:F20:

Copy knop, Edit, Paste Special..., Paste Values

Opmerkingen:

      1. Nieuwe vraagcijfers genereren met een macro

Je zal nu een macro en een Macro knop met naam Wijzig Vraagcijfers maken om nieuwe normaal verdeelde waarden voor de verwachte vraag op te stellen:

  1. In deze macro zal je gebruik maken van de ranges van de verwachte en werkelijke vraag, E9:E20 en F9:F20. Geef deze vooraf de sheet-level namen Qdv en Qd:
  2. Insert, Name, Define...,
    Names in Workbook: 'Voorraad 3'!Qdv, Refers to: ='Voorraad 3'!$E$9:$E$20, Add,Names in Workbook: 'Voorraad 3'!Qd, Refers to: ='Voorraad 3'!$F$9:$F$20, Add, Close

  3. Definieer vervolgens de macro:
  4. Tools, Macro, Record New Macro..., WijzigVraagcijfers

  5. Voer nu de volgende acties uit, die in de macro worden geregistreerd:
  6. Selecteer de range met naam Qd in de name list van de formulebalk

    Qd:

    =ROUND(NORMINV(RAND(),Qdv,Qdv/20),0) ctrl+enter

     

    Copy knop, Edit, Paste Special..., Paste Values

    druk op esc om de mogelijkheid tot plakken te beëindigen

  7. Beëindig het registreren van de macro door de Stop Recording knop in te drukken in de getoonde Stop Recording toolbar.

De vraagcijfers zijn nu vervangen door andere.

Bekijk de inhoud van de macro met het commando

Tools, Macro, Macros…, WijzigVraagcijfers, Edit:

Sub WijzigVraagcijfers()

'

' WijzigVraagcijfers Macro

' Macro recorded 9/11/97 by Marc Andries

'

'

Application.Goto Reference:="Qd"

Selection.FormulaR1C1 = "=ROUND(NORMINV(RAND(),Qdv,Qdv/20),0)"

Selection.Copy

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False

End Sub

De inhoud van de macro spreekt voor zichzelf:

selecteert de range Qd

brengt de formule aan in alle cellen van de range.

kopieert de nog steeds geselecteerde range Qd

plakt de inhoud als getallen (argument Paste:=xlValues). Je kan de argumenten Operation, SkipBlanks en Transpose, die standaard waarden hebben, schrappen.

beëindigt de mogelijkheid tot plakken (het kader in stippellijn verdwijnt).

Je kan de macro uittesten in Step mode met het commando

Tools, Macro, Macro..., WijzigVraagcijfers, Step knop

Creëer nu de Macro knop met behulp van de Forms toolbar:

  1. Rechtsklik in een werkbalk en klik Forms in het snelmenu om de Forms toolbar te tonen.
  2. Klik de Button knop in de Forms toolbar.
  3. Sleep over de plaats waar de knop moet worden aangebracht (G2:H3). Nu wordt in het werkblad een knop met voorlopige naam Button 1 geplaatst.
  4. Selecteer de naam WijzigVraagcijfers van de macro in het Assign Macro dialoogvenster, dat automatisch verschijnt.
  5. Sleep over de tekst in de knop en vervang deze door de in te typen tekst Wijzig Vraagcijfers.
  6. Wijzig, indien nodig de afmetingen van de knop door zijn handles te verplaatsen of wijzig de plaats door de rand te verslepen.
  7. Klik buiten de knop. De handles verdwijnen.
  8. Sluit de Forms toolbar.

Je kan nu de Macro knop klikken om de macro uit te voeren en nieuwe vraagcijfers te produceren. Uiteraard zullen alle afhankelijke formules eveneens nieuwe resultaten vertonen.

Opmerkingen:

    1. Een aantal speciale gevallen onderzoeken met de Solver

Je kan je nu de vraag stellen voor welke waarde van Q en P de winst per eenheid het grootste zal zijn.

Door de waarde van de verkoopprijs P te verhogen zal uiteraard de winst toenemen, maar het model wordt dan onrealistisch: Normaal moeten de vraagcijfers negatief reageren op een prijstoename en dit is niet in het model voorzien. Je kan uiteraard de constante waarden voor de verwachte vraag vervangen door een dalende functie van de prijs. De vorm en coëfficiënten van de functie moeten dan echter realistisch worden gekozen, en zijn bij voorkeur het resultaat van waargenomen feiten.

Je kan echter in dit model wel de invloed van een verhoging of verlaging van de productie Q onderzoeken en deze optimaliseren zodat de winst per eenheid zo groot mogelijk wordt. Dit kan op drie manieren gebeuren:

De beide laatste gevallen worden in de rest van dit hoofdstuk geïllustreerd.

Eerst wordt met de Solver de waarde voor Q bepaald die een maximale winst oplevert. Vervolgens wordt het Break Even Point opgespoord (de productie die juist geen winst of verlies oplevert). Ten gevolge van de bewaarkosten zal er echter een tweede, hoge waarde voor Q optreden waarbij er geen winst of verlies is. Ook deze waarde wordt met de Solver opgespoord.

Opmerkingen:

      1. De productie bepalen die een maximale winst oplevert

Bepaal eerst de waarde voor Q die de winst zo groot mogelijk maakt. Roep de Solver op met het commando

Tools, Solver...

Nu verschijnt het Solver Parameters dialoogvenster (figuur 4), waarin je de volgende zaken invult:

Set Target Cell:

$F$4 (Wj)

Equal to:

Max (maak de inhoud van deze cel maximaal).

By Changing Cells:

$F$2 (Q)

Add...

Plaats de restrictie $F$2 = integer in het Add Constraint dialoogvenster (figuur 5) en klik OK. De restrictie wordt in de Subject to the Constraints lijst geplaatst.

Solve

Voer de optimalisatie uit.

Je kan optimalisatiecriteria kiezen en restricties (Constraints) toevoegen (Add...), wijzigen (Change...) of verwijderen (Delete). Het is mogelijk een celinhoud te minimaliseren, maximaliseren of gelijk te maken aan een bepaalde waarde. Je kan één of meerdere cellen of ranges opgeven (By Changing Cells; door ze met komma's te scheiden), waarvan je de waarde kan veranderen. Je kan ook alle te wijzigen cellen en restricties verwijderen (Reset All).

Solver werkt een aantal gevallen uit. Dit wordt weergegeven in de statusbalk onderaan. Dit kan enige tijd in beslag nemen. Indien er een resultaat wordt verkregen verschijnt dit bericht in het Solver Results dialoogvenster (figuur 6), waarin je de oplossing kan handhaven (invullen; Keep Solver Solution) of terugkeren naar de originele waarden (Restore Original Values). Je kan eveneens met de Save Scenario... knop het opgestelde scenario een naam geven in het Save Scenario dialoogvenster (figuur 7), waardoor het bewaard wordt.

De gevonden oplossing levert (ogenschijnlijk) de grootste winst Wj=51605 BF bij een maandelijkse productie van Q=974 eenheden.

Dit is echter niet de echte grootste winst! Je kan dit nagaan door de Solver nogmaals de maximale winst te laten berekenen met als startwaarde de zojuist gevonden Q=974 eenheden. Nu wordt een grotere grootste winst Wj=52023 BF bij een maandelijkse productie van Q=979 eenheden gevonden. Wanneer je de Solver een derde maal aan het werk zet verandert de gevonden oplossing niet meer.

Je kan nu een rapport opstellen (klik de gewenste rapporten in de Reports lijst in het Solver Results dialoogvenster), dat in een afzonderlijk werkblad zal worden geplaatst. Er zijn drie soorten rapporten, maar bij restricties tot gehele waarden is enkel het Answer Report (figuur 8) mogelijk, dat in een afzonderlijk werkblad, links van het geactiveerde wordt geplaatst en de standaard naam Answer Report 1 krijgt. Je kan de afdruk van dit rapport beheren met het commando

View, Report Manager…

Opmerkingen:

Q

Wj

1000

48638 BF

975

51725 BF

978

51973 BF

974

51605 BF

974

51605 BF

980

51888 BF

979

52023 BF

      1. De nulpunten van de winst bepalen

Interessant is een tweede geval waarbij je op zoek gaat naar het Break Even Point (BEP). Dit is de productiewaarde waarbij er geen winst of verlies is. Theoretisch wordt deze waarde bekomen uit de formule:

Productiekosten = Omzet

of

F + cp * Q = P * Q

waaruit volgt:

QBEP = F / ( P - cp) = 10000 / (45 - 30) = 667 (afgerond)

In de praktijk zal deze waarde slechts bij benadering gelden, omdat er in deze formule wordt van uitgegaan dat er geen begin- en eindvoorraden zijn en steeds exact aan de vraag wordt voldaan. De bewaarkosten zullen daarenboven verantwoordelijk zijn voor een tweede nulpunt van de winst. Volgens de theoretische formule stijgt de winst immers steeds met de productie (in de onrealistische veronderstelling dat steeds de ganse productie wordt verkocht). In de praktijk daarentegen zal je bij een zeer grote productie met aanzienlijke voorraden blijven zitten, die bewaarkosten met zich meebrengen. Daardoor zal de winst vanaf een zekere (maximale) waarde gaan dalen en uiteindelijk weer een nulwaarde bereiken. Ga nu op zoek gaan naar deze twee nulwaarden.

Tools, Solver…

Vul nu in het Solver Parameters dialoogvenster in:

Set Target Cell:

$F$4 (Wj)

Equal to:

Value of 0

By Changing Cells:

$F$2 (Q)

Subject to the Constraints:

$F$2 = integer

Solve

 

Nu wordt gemeld dat er geen exacte oplossing kan worden gevonden: Solver could not find a feasable solution. Dit is uiteraard te verwachten met de beperking dat enkel gehele waarden voor Q zijn toegelaten. Nochtans wordt de benaderde waarde getoond. Wanneer je hiermee niet tevreden bent bestaat er een eenvoudige truc om dit op te lossen:

Vervang de formule in cel F4 (Wj; =Q21) door

F4:

=ABS(Q21)

Aangezien je toch niet geïnteresseerd bent in verliezen, maakt dit niets uit in normale situaties. Je kan nu echter trachten de kleinste waarde (dichtst bij 0 liggende waarde) voor Q21 te zoeken, door in het Solver Parameters dialoogvenster in te vullen:

Set Target Cell:

$F$4 (ABS(Wj))

Equal to:

Min

By Changing Cells:

$F$2 (Q)

Subject to the Constraints:

$F$2 = integer

Solve

 

Je zal hierdoor steeds één oplossing krijgen. Om beide oplossingen te krijgen kan je een extra restrictie toevoegen:

Subject to the Constraints:

$F$2 <= 900 (het lage nulpunt - Break Even Point)

of:

Subject to the Constraints:

$F$2>= 1100 (het hoge nulpunt)

Je kan een restrictie wijzigen of verwijderen door ze te selecteren en de Change... of Delete knop in te drukken. Bij het zoeken naar de nulpunten vervang je in het werkblad de startwaarde voor Q door een waarde die reeds aan de restrictie voldoet.

De aldus bereikte oplossingen zijn:

Uiteraard zullen de gevonden waarden anders zijn bij andere vraagcijfers. Je kan dit uittesten.

Wanneer je alle scenario's hebt bewaard kan je een scenario opvragen met het commando

Tools, Scenarios…

In het Scenario Manager dialoogvenster (figuur 10) kan je de scenario's tonen en beheren.

    1. De winst bepalen in functie van de productie in een data table en een chart (*)
    2. Je hebt met de Solver als het ware een tekenstudie van de functie Wj(Q) gemaakt: Je hebt de nulpunten en het maximum gezocht met behulp van het idee dat je over deze functie kon verkrijgen door redenering. Nu ga je een stap verder door voor een groot aantal waarden van de productie de winst te berekenen in een data table en deze daarna grafisch uit te zetten. Kies deze waarden tussen 600 en 1200, zodat de twee nulpunten in het interval vallen.

      Plaats de data table en chart onderaan in het werkblad Voorraad 4.

      1. De data table van de winst opstellen (*)

Excel heeft een commando, Data, Table..., waarmee je een één- of tweedimensionale tabel kan opstellen.

Een ééndimensionale tabel bevat twee of meer kolommen (of rijen). In de linkerkolom worden de waarden van de onafhankelijke grootheid (Q) vermeld, in de overige kolommen zullen de functiewaarden (jaarlijkse winst Wj en theoretische jaarlijkse winst Wth) worden berekend. De eerste rij van de tabel bevat in de rechterkolommen de formules.

Stel de data table van de winst als volgt op:

J24:

Q

K24:

Wj

L24:

Wth

J24:L24:

Font Size knop: 14, Center knop

J25:

=F2

(Q)

K25:

= Q21

(Wj)

L25:

=((M2-M4)*F2-M3)*12

((P–cp)*Q–F)*12

J24:L25:

Borders lijst, knop 10 (overal dunne lijn)

J26:J27:

600, 610, sleep fill handle naar J26:J86

J25:J86:

Format, Cells..., Number tabblad, Category Custom: 0" e."

K25:L86:

Format, Cells..., Number tabblad, Category Currency:
Decimal Places: 0, Symbol: BF, Negative Numbers: - 1 234 BF

J26:L86:

Format, Cells, Border tabblad, Line: dun, Presets: Outline, Border: verticaal binnenin

J25:L86:

Data, Table..., Column Input Cell: $F$2

De data table wordt gegenereerd in de range K26:L86 (figuur 12). In elke cel wordt de array formule {=TABLE(,F2)} geplaatst.

Opmerkingen:

Tools, Options..., Calculation tabblad

In het Calculation tabblad van het Options dialoogvenster kies je de optie Automatic except tables. Om bij deze instelling ook de tabellen te herberekenen zal je nu de Calc Sheet of Calc Now knoppen moeten indrukken. Wanneer zelfs dan het herberekenen nog te lang duurt, kan je de automatische herberekening volledig uitzetten door de Manual optie te kiezen.

      1. De data table van de winst in een chart voorstellen (*)

Stel nu de data table in een chart voor. Bij het plaatsen van de theoretische formules heb je er reeds voor gezorgd dat deze mee in de chart kunnen worden opgenomen. Je stelt best een XY chart op, omdat dit de enige is die je de mogelijkheid biedt de schaal van de X-as te wijzigen. Neem de hele tabel in de chart op, behalve rij 25:

  1. Selecteer de in de chart op te nemen ranges (J24:L24,J26:L86)
  2. Stel de chart op met de Chart Wizard en plaats hem links van de data table. Kies voor een XY (Scatter) chart, formaat 3 (vloeiende lijnen), Series in Columns, en vullen de titels in.

De gedaante van de chart is echter nog niet zoals gewenst. Het belangrijkste tekort is dat op de X-as waarden van 0 tot 1500 i.p.v. van 600 tot 1200 worden getoond. Dubbelklik daarom de ingebedde chart en brengen de volgende wijzigingen aan:

dubbelklik X-as, Scale..., Minimum: 600 (i.p.v. 0), Maximum: 1200 (i.p.v. 1500),
Major unit: 200 (i.p.v. 500)

Verplaats daarna de chart en wijzig zijn afmetingen (figuur 12).

      1. Een tweedimensionale data table opstellen

Je kan naast een ééndimensionale data table, waarin slecht één inputgrootheid verandert, ook een tweedimensionale data table opstellen waarin je zowel voor de Row input cell als voor de Column input cell een waarde moet invullen. In dit geval zal slechts één output grootheid in de tabel kunnen worden opgenomen. Maak ter illustratie een data table waarin je de jaarlijkse winst Wj berekent voor variërende waarden van de maandelijkse productie Q en de variabele kost cp (figuur 13):

O24:

Wj

P24:

cp

N26:

Q

O25:

=Q21

(formule voor de winst)

O26:O46:

1000, 1001, ..., 1020

(waarden voor Q)

P25:T25:

28, 29, 30, 31, 32

(waarden voor cp)

O25:T46:

Data, Table..., Row Input Cell: $M$4, Column Input Cell: $F$2

Opmerkingen:

    1. Een model met variabele productie (*)
    2. Je zal nu een tweede model opstellen waarin je de maandelijkse productie bepaalt in functie van de verwachte vraag en de beginvoorraad voor die maand.

      Stel dit model op in het werkblad Voorraad 5. Ga hierbij uit van een kopie van het werkblad Voorraad 3, omdat de data tables en charts zullen afwijken van die in Voorraad 4. Daarenboven zouden bij het kopiëren van een werkblad met ingebedde charts, de datareeksen in de chart op de originele data en niet op de gekopieerde gebaseerd zijn. Om al deze redenen is het veiliger de chart opnieuw op te stellen.

      1. Het werkblad aanpassen (*)
      2. Neem aan dat je in dit nieuwe werkblad elke maand een andere productie kan kiezen. De vraag is nu:

        Welke productie is optimaal?

        Theoretisch zal het antwoord zijn dat die productie de hoogste winst oplevert, die ervoor zorgt dat juist aan de vraag kan worden voldaan. Aangezien je echter de werkelijke vraagcijfers niet kent, maar enkel kan simuleren, moet je een productie kiezen die er voor zorgt dat het aanbod juist voldoet aan de verwachte vraag:

        Qa = Qb + Qp = Qd

        waaruit:

        Qp = Qd – Qb

        Het is wellicht aangewezen een zekere veiligheidsmarge in acht te nemen. Stel deze voor door dQ en gebruik ze als stuurgrootheid in cel F2. Pas de formule voor de productie aan zodat ze wordt:

        Qp = Qdv – Qb + dQ

        De wijzigingen aan het werkblad zijn gering:

        E2:

        dQ

        F2:

        0

        (dQ; initiële waarde:
        geen veiligheidsmarge)

        C9:

        =E9–B9+$F$2, sleep fill handle naar C9:C20

        (Qp; =Qdv–Qb+dQ)

        Het werkblad zou nu een begin- en eindvoorraad 0 tonen in elke maand, indien de werkelijke en verwachte vraagcijfers gelijk waren. Waarschijnlijk is het echter beter een veiligheidsmarge te nemen. Kies daarom 20 als waarde voor dQ (figuur 14):

        F2:

        20

        (dQ)

        Met de Solver kan je nu de waarde van dQ berekenen die een maximale winst oplevert.

      3. De data table en chart van de winst opstellen (*)

      Stel de data table van de winst op, waarbij je voor de inputgrootheid dQ waarden van –100 tot +100 en een extra kolom voor de jaarlijkse productie (Qpj) voorziet:

      J24:

      dQ

      K24:

      Qpj

      L24:

      Wj

      M24:

      Wth

      J24:M25:

      Font Size knop: 14, Center knop

      J25:

      =F2

      (dQ)

      K25:

      =C21

      (Qpj)

      L25:

      =Q21

      (Wj)

      M25:

      =((M2-M4)*C21-M3*12

      (P–cp)*Qpj-F*12

      J24:M25:

      Borders knop, knop 10 (overal dunne lijn)

      J26:J27:

      –100,–95, sleep fill handle naar J26:J66

      J25:K66:

      Format, Cells..., Number tabblad, Category Custom: 0" e."

      L25:M66:

      Format, Cells..., Number tabblad, Category Currency:
      Decimal Places: 0, Symbol: BF, Negative Numbers: - 1 234 BF

      J26:M66:

      Format, Cells, Border tabblad, Line: dun, Presets: Outline, Border: verticaal binnenin

      J25:M66:

      Data, Table..., Column input cell: F2

      Bij het opstellen van de chart met de Chart Wizard moet je ook nu achteraf aanpassingen doen:

      dubbelklik X-as, Scale..., Minimum: -100 (i.p.v. -150), Maximum: 100 (i.p.v. 150)

      Je verkrijgt nu een goede chart links van de data table (figuur 15).

    3. Andere modellen (*)

Op een analoge manier kan je het model aanpassen zodat je simulaties krijgt over

    1. Het Tools menu

Tot slot volgt een overzicht van het Tools menu. Vele commando's hieruit werden in dit en de vorige hoofdstukken behandeld. Het Tools menu bevat de volgende commando's:

Tools menu

Spelling…

Controleer de spelling. Je kan binnen Excel de taal niet veranderen!

AutoCorrect…

Beheer het automatisch corrigeren van spellingfouten. In vele gevallen zet je deze opties beter uit, om het hardnekkig automatisch "verbeteren" van woorden die juist zijn te voorkomen.

LookUp Reference…

Zoek een sleutelwoord op in Microsoft Bookshelf Basics of een andere referentiebibliotheek.

Share Workbook…

Beheer op welke wijze (delen van) een werkboek door verschillende gebruikers tegelijk kunnen worden gebruikt.

Track Changes

Dit is een submenu met de commando's Highlight Changes…, Accept or Reject Changes…. Je kan opgeven wijzigingen te markeren, en eventueel door te voeren. Dit is vooral nuttig wanneer meerdere gebruikers een zelfde werkboek bewerken. Het wordt dan ook met Share Workbook… gecombineerd.

Merge Workbooks…

Beheer het samenvoegen van meerdere werkboeken.

Protection…

Dit is een submenu met de commando's Protect Sheet…, Protect Workbook…, Protect and Share Workbook…. Je kan er de beveiliging op allerlei niveaus mee aanzetten en beheren.

Goal Seek…

Ga op zoek naar één te wijzigen cel om in een afhankelijke cel een vooropgegeven waarde te verkrijgen.

Scenarios…

Beheer scenario's, die je bijvoorbeeld met de Solver hebt opgesteld.

Auditing

Dit is een submenu met de commando's Trace precedents, Trace Dependents, Trace Errors, Remove All Arrows, Show Auditing Toolbar. Je kan er afhankelijkheden tussen cellen en fouten mee beheren. Je kan hierbij gebruik maken van de Auditing toolbar.

Solver…

Zoek waarden voor cellen om in een afhankelijke cel een vooropgegeven waarde te verkrijgen (of een minimale of maximale waarde).

Macro

Dit is een submenu met de commando's Macros…, Record New Macro…, Visual Basic Editor.

Add-Ins…

Beheer add-ins. Dit zijn extra mogelijkheden, die vaak niet automatisch worden geïnstalleerd of in de menu's opgenomen. Hierbij worden .xla bestanden gebruikt, die uiteraard op je schijf moeten zijn gekopieerd. Nadat een add-in is geïnstalleerd is er vaak een commando (meestal in het Tools menu) toegevoegd, zoals Solver… of Data Analysis….

Je kan de volgende add-ins beheren: Analysis Toolpak, Analysis Toolpak – VBA, AutoSave, Conditional Sum Wizard, File Conversion Wizard, Internet Assistant Wizard, Lookup Wizard, Microsoft AccessLinks Add-In, Microsoft Bookshelf Integration, MS Query Add-in for Excel 5 Compatibility, ODBC Add-In, Report Manager, Solver Add-In, Template Utilities, Template Wizard with Data Tracking, Update Add-in Links, Web Form Wizard.

Customize…

Beheer de menubalken en werkbalken. Dit commando is equivalent aan View, Toolbars, Customize….

Options…

Bepaal allerlei instellingen die algemeen gelden of voor een bepaald object (zoals een werkboek of een venster).

Wizard

Dit is een submenu met de commando's Lookup…, File Conversion…, Conditional Sum…, Web Form…. Je kan hiermee de aangeduide Wizards oproepen.


inhoud vorige volgende