Excel heeft een heel gamma financiële functies, die zich bevinden in de Financial categorie van het Paste Function dialoogvenster. Sommige van deze functies zijn enkel beschikbaar wanneer de Analysis Toolpak add-in is geïnstalleerd. Dit gebeurt met het commando
Tools, Add-Ins..., kruis Analysis Toolpak aan
In dit hoofdstuk worden de volgende zaken behandeld:
Alle gebruikte werkbladen worden in het werkboek Finalg.xls geplaatst, dat je kan opvragen van P:\Excel 97 en bewaren op je I: schijf.
In dit hoofdstuk worden de begrippen en notaties uit het handboek "Actuariële Wiskunde, Financiële Algebra", J.F. De Craen, G. Elsen, R. De Groot, 4de druk, 1995, Van In, Lier, gebruikt. Voor meer uitleg wordt dan ook daarheen verwezen.
Een annuïteit is een reeks betalingen met gelijke tussenpozen, meestal met de bedoeling een schuld af te lossen.
In het algemeen wordt op een bepaald initieel tijdstip t0 een bedrag V0 geleend, dat daarna periodiek wordt terugbetaald op tijdstippen t1, t2, ... tn. n is het aantal periodes. Na verloop van deze n jaren is meestal het volledige bedrag terugbetaald. Daarnaast wordt eveneens intrest betaald, eveneens op de tijdstippen t1 , t2 , ... tn. De interestvoet (of rentevoet) wordt aangegeven door de grootheid i.
Je kan dit schematisch opstellen als volgt:
In dit voorbeeld wordt in het begin een bedrag V0 geleend en op het einde van elke periode een annuïteit Ak terugbetaald (postnumerando). Excel zal ontvangen bedragen met een positief teken aangeven en terugbetaalde bedragen met een negatief teken. Een variant bestaat er in dat de annuïteiten in het begin van elke periode worden terugbetaald (prenumerando).
Elke annuïteit Ak bestaat uit een gedeelte mk waarmee een deel van de schuld wordt afgelost en uit een gedeelte Ik waarmee intrest wordt betaald op het in het begin van de periode nog niet afgeloste deel van de schuld. In formulevorm leidt dit tot:
Ak = mk + Ik
Uiteraard is de som van de aflossingen gelijk aan het oorspronkelijk geleende bedrag:
V0 = S mk (waarbij k gaat van 1 tot n)
Naargelang in elke periode een gelijk bedrag wordt besteed aan de aflossing (mk constant), een gelijke termijn van de annuïteit wordt betaald (Ak constant) of het ganse geleende bedrag op het einde wordt terug betaald (mn = V0 en An = V0 + I; mk = 0 en Ak = I voor k < n) en de betaling van de annuïteiten geschiedt aan het begin of aan het einde van de periode kan je verschillende gevallen onderscheiden.
Daarenboven kan je het geval beschouwen waarbij niet de volledige duur, maar slechts een gedeelte wordt beschouwd. In dit geval is er op het einde nog een resterende schuld af te lossen.
Excel gebruikt de volgende termen bij leningen met constante annuïteiten:
| rate | De rentevoet i, geldig voor de duur van een periode (in principe een jaar). |
| nper | De duur van de lening n, uitgedrukt in aantal periodes (in principe van één jaar). |
| pmt | De termijn (payment) van de annuïteit A. |
| pv | De contante waarde (present value) van de terug te betalen bedragen bij aanvang van de lening (op t0). Deze is gelijk aan het ontleende bedrag V0, maar heeft meestal het andere teken. |
| fv | De slotwaarde (future value) van de lening op het einde van het beschouwde aantal periodes. Aangezien in principe de volledige lening dan is terugbetaald zal fv de waarde 0 hebben. Laat je het beschouwde tijdstip echter vallen vóór de volledige lening is afgelost, dan zal fv gelijk zijn aan de op dat tijdstip geactualiseerde waarde van de nog te betalen termijnen. |
| type | Deze grootheid duidt aan of de betalingen op het einde van de periode geschieden (0: postnumerando - standaard) of aan het begin (1: prenumerando). |
De volgende formule geeft het verband tussen de grootheden aan bij postnumerando annuïteitsleningen met een constante termijn (verkort genoemd: leningen met constante annuïteiten), waarbij u = 1 + i en v = u-1 = (1+i)-1:
Indien fv = 0 valt de laatste term weg. Bij prenumerando leningen moet de tweede term vermenigvuldigd worden met de factor u.
Opmerkingen:
Je kan de financiële functies gebruiken om de klassieke financiële problemen op te lossen:
In het werkblad Klassieke vraagstukken bevinden zich een groot aantal financiële functies (figuur 1).
Probleem 1: Welke constante annuïteit A moet ik betalen wanneer ik een geleend bedrag V0 gedurende n jaren in gelijke jaarlijkse stortingen wil terugbetalen aan een rentevoet i ?
Je gebruikt hiervoor de functie
PMT(rate,nper,pv,fv,type)
Deze functie geeft de constante termijn (payment: PMT) nodig om aan een gegeven rentevoet (rate) gedurende een gegeven aantal periodes (nper) een gegeven bedrag (pv) terug te betalen. Hierbij kan er op het einde nog een bedrag over zijn (fv). Het type heeft de waarde 0 indien de betalingen postnumerando geschieden en 1 indien de betalingen prenumerando geschieden. De laatste twee argumenten zij optioneel. Standaard hebben ze de waarde 0 (geen resterend bedrag op het einde en postnumerando betalingen).
Je berekent A als volgt:
A = -PMT(i,n,V0) of A = PMT(i,n,-V0)
Opmerkingen:
Voorbeeld:
| C1 (i): | 10.75% | |
| C2 (n): | 20 jaar | |
| C3 (V0): | 4 000 000 BF | |
| F1 (A): | =-PMT(C1,C2,C3) | 494 114 BF (na afronding) |
Probleem 2: Welke is de werkelijke rentevoet i wanneer ik een geleend bedrag V0 terugbetaal gedurende n jaren met constante annuïteiten A?
Je gebruikt hiervoor de functie
RATE(nper,pmt,pv,fv,type,guess)
Deze functie geeft de rentevoet (RATE) nodig om gedurende een gegeven aantal periodes (nper) met constante termijnen (pmt) een gegeven bedrag (pv) terug te betalen. Hierbij kan er op het einde nog een bedrag over zijn (fv). Het type heeft de waarde 0 indien de betalingen postnumerando geschieden en 1 indien de betalingen prenumerando geschieden. De waarde voor guess is een initiële schatting voor de rentevoet en kan worden weggelaten, maar wanneer dit in een foutmelding resulteert moet je hier een waarde kiezen. De laatste drie argumenten zijn optioneel. Ze hebben standaard de waarde 0, 0 en 0.1 (geen resterend bedrag op het einde en postnumerando betalingen).
Je berekent i als volgt:
i = RATE(n,-A,V0) of i = RATE(n,A,-V0)
Opmerkingen:
Voorbeeld:
| C5 (n): | 20 jaar | |
| C6 (A): | 500 000 BF | |
| C7 (V0): | 4 000 000 BF | |
| F5 (i): | =RATE(C5,-C6,C7) | 10.93% (afgerond tot 2 decimalen) |
Probleem 3: Welk bedrag V0 kan ik lenen aan een rentevoet i, wanneer ik dit gedurende n jaren met constante annuïteiten A zal terugbetalen?
Je gebruikt hiervoor de functie
PV(rate,nper,pmt,fv,type)
Deze functie geeft het bedrag dat je kan lenen (present value: PV) om het daarna aan een gegeven rentevoet (rate) gedurende een gegeven aantal periodes (nper) met constante termijnen (pmt) terug te betalen. Hierbij kan er op het einde nog een bedrag over zijn (fv). Het type heeft de waarde 0 indien de betalingen postnumerando geschieden en 1 indien de betalingen prenumerando geschieden. De laatste twee argumenten zij optioneel. Ze hebben standaard de waarde 0 (geen resterend bedrag op het einde en postnumerando betalingen).
Je berekent V0 als volgt:
V0 = PV(i,n,-A) of V0 = -PV(i,n,A)
Opmerking:
Voorbeeld:
| C9 (i): | 10.75% | |
| C10 (n): | 20 jaar | |
| C11 (A): | 500 000 BF | |
| F9 (V0): | =-PV(C9,C10,C11) | 4 047 649 BF (na afronding) |
Probleem 4: Hoeveel jaren n zal ik nodig hebben om een geleend bedrag V0 terug te betalen met constante annuïteiten A aan een rentevoet i?
Je gebruikt hiervoor de functie
NPER(rate,pmt,pv,fv,type)
Deze functie geeft het aantal perioden (number of periods: NPER) nodig om aan een gegeven rentevoet (rate) met gegeven constante termijnen (pmt) een gegeven bedrag (pv) terug te betalen. Hierbij kan er op het einde nog een bedrag over zijn (fv). Het type heeft de waarde 0 indien de betalingen postnumerando geschieden en 1 indien de betalingen prenumerando geschieden. De laatste twee argumenten zij optioneel. Ze hebben standaard de waarde 0 (geen resterend bedrag op het einde en postnumerando betalingen).
Je berekent n als volgt:
n = NPER(i,-A,V0) of n = NPER(i,A,-V0)
Het verkregen resultaat is echter in het algemeen geen geheel getal. Je kan het naar beneden afronden met de functie INT, zodat je de volgende formule verkrijgt:
n = INT(NPER(i,-A,V0)) of n = INT(NPER(i,A,-V0))
Ten gevolge van het naar beneden afronden van n zal op het einde van de laatste periode niet het volledige geleende bedrag zijn terugbetaald. Je kan het resterende op het einde van de laatste periode nog niet afgeloste bedrag beschouwen als een slotwaarde. Je berekent deze met de functie:
FV(rate,nper,pmt,pv,type)
Deze functie geeft het bedrag dat je op het einde nog niet hebt terugbetaald (future value: FV) wanneer je aan een gegeven rentevoet (rate) gedurende een gegeven aantal periodes (nper) met constante termijnen (pmt) een geleend bedrag (pv) moet aflossen. Het type heeft de waarde 0 indien de betalingen postnumerando geschieden en 1 indien de betalingen prenumerando geschieden. De laatste twee argumenten zij optioneel. Ze hebben standaard de waarde 0 (geen bedrag aan het begin en postnumerando betalingen).
Je berekent het resterend bedrag, dat je als Vn kan aanduiden, als volgt:
Vn = FV(i,n,A,-V0) of Vn = -FV(i,n,-A,V0)
Dit resterende bedrag is steeds kleiner dan de constante termijn van de annuïteit A.
Je hebt nu twee mogelijkheden om dit bedrag terug te betalen:
An = A+Vn = A + FV(i,n,A,-V0)
Deze methode heeft als nadeel dat op het einde van de laatste periode een bedrag zal moeten worden betaald dat groter is dan de termijn van de overige periodes.
Het schema is dan:
An+1 = Vn u = FV(i,n,A,-V0) * (1+i)
Het schema is dan:
Opmerkingen:
In een dergelijke situatie zal je allicht eerder prenumerando rekenen: Je ontvangt gelijke bedragen op de tijdstippen t0... tn-1 (dus in het begin van de periodes t1...tn) en betaalt terug op het einde van periode tn:
Voorbeeld:
| C13 (i): | 10.75% | |
| C14 (A): | 500 000 BF | |
| C15 (V0): | 4 000 000 BF | |
| F13 (n): | =NPER(C13,-C14,C15) | 19.25575205 jaar (niet afgerond) |
| F14 (n): | =INT(NPER(C13,-C14,C15)) | 19 jaar (afgerond naar beneden) |
| F15 (V19): | =FV(C13,F14,C14,-C15) | 119 887 BF (afgerond) |
| F16 (A19): | =C14+F15 | 619 887 BF (afgerond; laatste betaling in jaar 19) |
| F17 (A20): | =F15*(1+C13) | 132 774 BF (afgerond; laatste betaling in jaar 20) |
Je kan de constante termijn van een annuïteit A opsplitsen in een rentebestanddeel Ik en een aflossingsbestanddeel mk, die afhankelijk zijn van de periode k. Je kan dan ook vragen stellen als:
Je kan de antwoorden op deze vragen bekomen met de functies
De IPMT functie (Interest portion of Payment) geeft het rentebestanddeel en de PPMT functie (Principal portion of Payment) geeft het aflossingbestanddeel van de termijn (Payment) in periode per. De overige parameters hebben dezelfde betekenis als in de PMT functie. De laatste twee argumenten zijn optioneel (standaard waarde 0).
De CUMIPMT functie (Cumulative Interest portion of Payment) geeft de som van de rentebestanddelen en de CUMPRINC functie (Cumulative Principal portion of Payment) geeft de som van de aflossingbestanddelen van de termijn van periode start_per tot periode end_per. De overige parameters hebben dezelfde betekenis als in de PMT functie. Alle argumenten zijn verplicht, ook het type !
Je berekent Ik, mk, S Ik en S mk als volgt:
| Ik | = | -IPMT(i,k,n,V0) |
| mk | = | -PPMT(i,k,n,V0) |
| S Ik | = | -CUMIPMT(i,n,V0,1,k,0) |
| S mk | = | -CUMPRINC(i,n,V0,1,k,0) |
Opmerkingen:
| PV(i,n,A) = - A * (1 - vn) / i | waarbij v = (1 + i)-1 |
| FV(i,n,A) = - A * (un- 1) / i | waarbij u = 1 + i |
| PMT(i,n,V0) = - V0 / PV(i,n,1) = V0 * i / (1 - vn) | |
| PPMT(i,1,n,V0) = - V0 / FV(i,n,1) = V0 * i / (un- 1) | |
| PPMT(i,k,n,V0) = u * PPMT(i,k-1,n,V0) | als k > 1 |
| IPMT(i,1,n,V0) = V0 * i | |
| IPMT(i,k,n,V0) + PPMT(i,k,n,V0) = PMT(i,n,V0) | voor alle k |
Voorbeeld:
| C19 (i): | 10.75% | |
| C20 (n): | 20 jaar | |
| C21 (V0): | 4 000 000 BF | |
| F19 (A): | =-PMT(C19,C20,C21) | 494 114 BF (na afronding) |
| F20 (I5): | =-IPMT(C19,5,C20,C21) | 397 658 BF (na afronding) |
| F21 (m5): | =-PPMT(C19,5,C20,C21) | 96 456 BF (na afronding) |
| F22 (S Ik): | =-CUMIPMT(C19,C20,C21,1,5,0) | 2 073 262 BF (na afronding; k=1...5) |
| F23 (S mk): | =-CUMPRINC(C19,C20,C21,1,5,0) | 397 308 BF (na afronding, k=1...5) |
Bij niet-constante annuïteiten Ak kan je de volgende functies gebruiken:
| NPV(rate,values) |
| IRR(values, guess) |
De NPV functie (Net Present Value) vormt een uitbreiding van de PV functie (Present Value). Het eerste argument (rate) geeft de rentevoet aan die wordt gebruikt. De overige waarden (values), die meestal in de vorm van een range worden opgegeven, geven aan welke bedragen worden ontvangen (+) of betaald (-) op de tijdstippen t1, t2,... tn. Het resultaat is de contante waarden van al deze bedragen op het tijdstip t0.
De IRR functie (Internal Rate of Return) vormt een uitbreiding van de RATE functie. De eerste argumenten (values), die meestal in de vorm van een range worden opgegeven, geven aan welke bedragen worden ontvangen (+) of betaald (-) op de tijdstippen t0, t1, t2,... tn. Het resultaat is de werkelijke rentevoet van al deze bedragen. Het laatste argument guess vormt een initiële schatting voor de werkelijke rentevoet en is optioneel, juist zoals bij de RATE functie (standaard waarde 0.1).
Opmerkingen:
Voorbeelden (figuur 2):
| C25 (i): | 6% | |
| H25:H31 (Ak): | 0,0,0,0,5000,0,7000 BF | |
| F25 (V0) | =NPV(C25,H25:H31) | 8392 BF (na afronding) |
| C25 (i): | 6% | |
| C26 (n): | 7 jaar | |
| C27 (A): | 1500 BF | |
| I25:I31 (A): | =$C$27 | 1500 BF |
| F26 (V0'): | =NPV(C25,I25:I31) | 8374 BF (na afronding) |
| F27 (V0'): | =-PV(C25,C26,C27) | 8374 BF (na afronding) |
| H33 (-V0): | -8250 BF | |
| H34:H40 (Ak): | 0,0,0,0,5000,0,7000 BF | |
| F33 (i): | =IRR(H33:H40) | 6.30% (afgerond tot 2 decimalen) |
| C34 (n): | 7 jaar | |
| C35 (A): | 1500 BF | |
| C36 (V0): | 8250 BF | |
| I33 (-V0): | =-C36 | -8250 BF |
| I34:I40 (A): | =$C$35 | 1500 BF |
| F34 (i'): | =IRR(I33:I40) | 6.42% (afgerond tot 2 decimalen) |
| F35 (i'): | =RATE(C34,C35,-C36) | 6.42% (afgerond tot 2 decimalen) |
Vaak geschieden de terugbetalingen niet jaarlijks maar halfjaarlijks (semestrieel) of maandelijks. Voor n (nper) moeten je dan steeds het aantal perioden (semesters, maanden) gebruiken en niet het aantal jaren. Vaak wordt dan niet de werkelijke (jaarlijkse) rentevoet i opgegeven maar een schijnbare jaarlijkse rentevoet, die je deelt door 12 om een maandelijkse rentevoet te bekomen. Gebruik de notaties:
| i | werkelijke (jaarlijkse) rentevoet of jaarlijks kostenpercentage |
| j(12) | schijnbare jaarlijkse rentevoet |
| j(12)/12 | maandelijkse rentevoet, waarmee moet worden gerekend |
De formule die het verband aangeeft tussen i en j(12)/12 is:
Wanneer je het jaar in een ander aantal, p, gelijke delen opdelen, moet je in de bovenstaande formule 12 vervangen door p.
Excel heeft twee functies om het verband tussen i en j(p)/p te berekenen:
| i | = | EFFECT(j(p),p) |
| j(p) | = | NOMINAL(i,p) |
Uiteraard bekom je j(p)/p door j(p) te delen door p.
Voorbeelden:
| C42 (i): | 12% | |
| F42 (j(12)/12): | =NOMINAL(C42,12)/12 | 0.95% (afgerond tot 2 decimalen) |
| F43 (j(4)/4): | =NOMINAL(C42,4)/4 | 2.87% (afgerond tot 2 decimalen) |
| F44 (j(2)/2): | =NOMINAL(C42,2)/2 | 5.83% (afgerond tot 2 decimalen) |
| C45 (j(12)/12): | 1% | |
| F45 (i): | =EFFECT(12*C45,12) | 12.68% (afgerond tot 2 decimalen) |
| C46 (j(4)/4): | 3% | |
| F46 (i): | =EFFECT(4*C46,4) | 12.55% (afgerond tot 2 decimalen) |
| C47 (j(2)/2): | 6% | |
| F47 (i): | =EFFECT(2*C47,2) | 12.36% (afgerond tot 2 decimalen) |
Stel nu met Excel het aflossingsplan van de lening met constante annuïteiten die beschreven wordt in het handboek "Financiële Algebra" blz. 150-157.
Een kapitaal ter waarde van 4 000 000 BF wordt geleend en is terug te betalen via een constante annuïteitslening met 20 jaarlijkse termijnen aan een werkelijke rentevoet van 10.75 %. Elke betaling geschiedt op het einde van het jaar. Stel het aflossingsplan op.
In het aflossingsplan worden de volgende kolommen voorzien:
Opmerkingen:
Stel een nieuw aflossingsplan op in het lege werkblad Sheet 1en geef het de naam Constante annuïteit.
Het definitieve aflossingsplan past in de lengte niet op het scherm. Het bevat 5 kolommen en 30 rijen.
Hieronder worden zonder veel verdere commentaar de formules en gebruikte commando's vermeld (figuur 3). De formules worden zowel in hun oorspronkelijke gedaante getoond als na het gebruiken van de symbolische namen. In de formules voor de geldbedragen werden mintekens gebruikt om negatieve resultaten te vermijden. Geldbedragen werden met twee cijfers na de komma getoond om aan te tonen dat de waarden zonder afronding exact kloppen en om er later naar te kunnen verwijzen.
| A1: | naam, Italic knop | |
| B1: | Lening aflosbaar door een constante annuïteit, Bold knop, Font Size knop: 12 | |
| A:E: | sleep kolomhoofd naar rechts tot kolombreedte 16 | |
| B1:E1: | Merge and Center knop | |
| A3: | Nominaal kapitaal | |
| A4: | Jaarlijkse rentevoet | |
| A5: | Duur | |
| A6: | Termijn van de annuïteit | |
| C3: | V0, selecteer 0 in formulebalk, Format, Cells..., Font tabblad, kruis Subscript aan | |
| C4: | i | |
| C5: | n | |
| C6: | A | |
| D3 (V0): | 4000000 BF | |
| D4 (i): | 10.75% | |
| D5 (n): | 20, Format, Cells..., Number tabblad, Category: Custom, Type: 0" jaar" | |
| D3:D5: | Bold knop, Font Color knop: Dark Blue | |
| D6 (A): | =-PMT(D3,D4,D2), Borders lijst: knop 11 (kader om buitenrand), Fill Color knop: Light Yellow | |
| C3:C6: | Center knop | |
| A8: | Jaar | |
| B8: | Schuldsaldo aan het begin van het jaar | |
| C8: | Te betalen bedrag aan het einde van het jaar | |
| E8: | Reeds afgeloste schuld aan het einde van het jaar | |
| C9: | Rente | |
| D9: | Aflossing | |
| A8:E9: | Format, Cells..., Alignment tabblad, Horizontal Center, Vertical Center, Wrap text | |
| C8:D8: | Merge and Center knop | |
| A8:A9: | Merge and Center knop | |
| B8:B9: | Merge and Center knop | |
| E8:E9: | Merge and Center knop | |
| 8:8: | sleep benedenrand omlaag tot de rij de dubbele hoogte 25.50 heeft | |
| A10:A11: | 1,2, sleep fill handle naar A10:A29 | |
| A30: | Totaal | |
| A10:A30: | Center knop | |
| B10: | =V0 | |
| C10: | =-IPMT ($D$4,A10,$D$5,$D$3) | of =B9*$D$4 |
| D10: | =-PPMT(($D$4,A10,$D$5,$D$3) | of =$D$6-C10 |
| E10: | =-CUMPRINC($D$4,$D$5,$D$3,1,A10,0) | of =D10, en E11: =E10+D11 |
| C10:E10: | sleep fill handle naar C10:E29 |
of C10:D10:
sleep fill handle naar C10:D29 en E11: sleep fill handle naar E11:E29 |
| B11: | =B10-D10, sleep fill handle naar B11:B30 | |
| C30: | =SUM(C10:C29) | |
| D30: | =SUM(D10:D29) | |
| E30: | =D30 | |
| B10:E30: | Currency knop | |
| A1:E30: | Borders knop: knop 12 (halfdik kader rond buitenrand) | |
| A1:E1: | Borders knop: knop 2 (dunne lijn onderaan) | |
| A8:E9: | Borders knop: knop 7 (dunne lijn bovenaan en onderaan) | |
| A8:E30: | Format, Cells..., Border tabblad, klik dunne lijn en verticale lijn in het midden van de figuur | |
| A30:E30: | Borders knop: knop 9 (dunne lijn bovenaan en halfdikke lijn onderaan) | |
| A10: | Window, Freeze Panes | |
| Tools, Options..., View tabblad, verwijder de aankruising van Gridlines | ||
Opmerkingen:
Omdat je enkel met gehele geldbedragen wilt rekenen moet je alle getallen effectief tot gehele getallen afronden. Je mag dus niet uitsluitend de Decrease Decimal knop gebruiken!
Stel bij het afronden de volgende eisen:
Er zijn meerdere functies om getallen af te kappen of af te ronden. De belangrijkste zijn:
Het afronden, zoals je het gewoonlijk gebruikt, gebeurt dus via de functie ROUND(x,0). Het weglaten van het niet-gehele gedeelte gebeurt via de functie TRUNC(x,0) of TRUNC(x).
Elke gevolgde werkwijze bij het oplossen van de afrondingsproblemen zal meestal als gevolg hebben dat je sommige financiële functies van Excel niet meer kan gebruiken, aangezien ze na afronding kleine verschillen opleveren.
Pas in alle cellen die geldbedragen aangeven de ROUND functie op het resultaat toe en constateer dat daarna een aantal fouten zijn ontstaan, die de opgelegde eisen overtreden:
| D6 (A): | =-ROUND(PMT(D4,D5,D3),0) |
| C10: | =-ROUND(IPMT($D$4,A10,$D$5,$D$3),0) |
| D10: | =-ROUND(PPMT,A10),0) |
| E10: | =-ROUND(CUMPRINC(($D$4, ,$D$5,$D$3,1,A10,0),0) |
| C10:E10: | sleep fill handle naar C10:E29 |
De overige formules kunnen ongewijzigd blijven aangezien het bewerkingen betreft op getallen die nu geheel zijn.
Geef daarna aan de cellen die een geldbedrag aangeven een nieuw formaat waarin de cijfers na de decimale punt niet meer worden getoond:
|
D3,D6, B10:E30: |
Currency knop, 2 maal Decrease Decimal knop |
Opmerking:
Het resultaat is zoals in het werkblad CA 2 (figuur 4). Je ziet reeds onmiddellijk in de laatste rij dat er iets mis is:
|
B30: |
-1BF |
i.p.v. 0 BF |
|
D30:E30: |
4 000 001 BF |
i.p.v. 4 000 000 BF |
Er is één frank teveel terugbetaald. Het totale terugbetaalde bedrag is dus niet gelijk aan het geleende bedrag.
Toevallig heb je geluk wat betreft de som van rente- en aflossingsbestanddeel. Dit bedraagt in elk van de 20 jaren 494 114 BF en is dus steeds gelijk aan de constante termijn van de annuïteit. Dit is nochtans niet vanzelfsprekend!
De afrondingsfouten zijn hier erg gering. Dit wordt hoofdzakelijk veroorzaakt door het feit dat de fout in de termijn ten gevolge van het afronden niet erg groot is, nl. 494 114 - 494113.93 = 0.07. Was dit verschil 0.5 (het slechtste geval) dan zouden de afrondingsfouten heel wat talrijker zijn geweest.
Nochtans moet het werkblad in alle gevallen een aanvaardbaar resultaat opleveren na het afronden, volgens de gestelde eisen, en zoals getoond in het werkblad CA 3 (figuur 5).
In het handboek "Financiële Algebra" worden de "resten" van de aflossingsbestanddelen (cijfers na de komma) volgens grootte gerangschikt en worden er zoveel naar boven afgerond als nodig is om de tweede eis te kunnen voldoen. Het rentebestanddeel wordt dan berekend door het aflossingsbestanddeel af te trekken van de annuïteit.
Het is echter handiger uit te gaan van de reeds afgeloste schuld, berekend met de CUMPRINC functie. De resultaten in deze kolom zijn aanvaardbaar (cel E29 geeft het juiste bedrag, V0). Bereken nu het aflossingsbestanddeel als het verschil van twee opeenvolgende waarden van de reeds afgeloste schuld en het rentebestanddeel als het verschil van de termijn en het aflossingsbestanddeel. Omdat deze werkwijze én eenvoudiger is wanneer je over de CUMPRINC functie beschikken én tegelijk eleganter zal je deze hier nu toepassen.
Je lost de afrondingsproblemen dus op door de formules in de C, D en E kolom anders te formuleren:
| D6 (A): | =-ROUND(PMT(D4,D5,D3),0) |
| D10: | =E10 |
| D11: | =E11-E10, sleep fill handle naar D11:D29 |
| C10: | =$D$6-D10, sleep fill handle naar C10:C29 |
Nu verlopen de afrondingen correct en is de som van de aflossingen 4 000 000 BF.
Opmerking:
| D29: | =B29 |
Dit levert correcte eindresultaten zonder de overige formules te moeten wijzigen, maar kan als gevolg hebben dat in het laatste jaar verscheidene franken (tot n/2) meer of minder moeten worden terugbetaald dan zonder afrondingen is berekend. Daarenboven garandeert dit niet dat de som van rentebestanddeel en aflossingsbestanddeel dan nog correct is. De formule
| C10: | =$D$6-D10, sleep fill handle naar C10:C29 |
C9: =A-D9
moet ook dan nog steeds worden toegepast.
Bewaar nu het werkboek Finalg.xls.
Je kan allerlei charts maken om de evolutie van aflossing en rente aan te geven. Je kan die onder meer opstellen met de Chart Wizard. Hierna volgen voorbeelden van een Stacked Column chart en een Line chart (figuur 6) met de evolutie in de tijd en een 3-D Pie chart (figuur 7) van de verdeling van de aflossing van de schuld over de 20 jaren samen.
Maak als oefening zelf de charts. Hierbij horen enkele bedenkingen:
Window, Unfreeze Panes.
Tools, Goal Seek...
oproepen. Geef in het Goal Seek dialoogvenster op dat cel D6 de waarde 500000 moet krijgen door V0 te wijzigen. Het Goal Seek Status dialoogvenster rapporteert dat een oplossing werd gevonden. In cel D3 kan je zien dat deze 4 047 649 BF bedraagt. Dit is een afgeronde waarde zoals blijkt uit de waarde in de formulebalk wanneer wij D3 selecteren. Een alternatief bestaat er in de waarde van de termijn, 500 000 BF in cel D6 in te typen en de waarde van V0 in cel D3 te vervangen door de formule =-ROUND(PV(D4,D5,D6),0).
Aflossingen met een niet-constante annuïteit zijn in het algemeen veel eenvoudiger te berekenen. Ze maken geen gebruik van de klassieke financiële functies.
Stel, zonder in te gaan op de vormgeving, een aflossingsplan op voor een lening van 4000000 BF over 10 jaar, waarbij elk jaar evenveel moet worden afgelost, en de rente gedurende de eerste vijf jaar 10% en daarna 11% bedraagt.
Omdat de lay-out van dit werkblad zeer sterk gelijkt op die van het voorgaande, start je met het vorige werkblad Constante annuïteit te kopiëren en de sheet tab van de kopie te dubbelklikken en de naam Constante aflossing geven.
Je zal een aantal rijen moeten verwijderen. Dit kan een negatieve invloed hebben op de afmetingen van de charts. Daarom is het best dat je vooraf opgeeft dat de afmetingen van de charts niet mogen wijzigen met de cellen waarin ze zich bevinden. Dubbelklik daarom de chart area en stip in het Properties tabblad van het Format Chart Area dialoogvenster Move but don't size with cells aan. Doe dit voor elk van de drie charts.
Wijzig nu dit werkblad als volgt (figuur 8):
|
20:29: |
Edit, Delete |
|
5:5: |
Insert, Rows |
|
B1: |
Lening aflosbaar door constante aflossingen |
|
A4: |
Rentevoet tot jaar |
|
B4: |
5 |
|
C4: |
ia |
|
D4: |
10% |
|
A5: |
Rentevoet vanaf jaar |
|
B5: |
=B3+1 |
|
C5: |
ib |
|
D5: |
11% |
|
D6: |
10 |
|
A7: |
del |
|
B7:D7: |
Edit, Clear, All |
|
B1: |
Format, Cells..., Alignment tabblad, verwijder (tijdelijk) de Merge cells aankruising |
|
E:E: |
Insert, Columns |
|
B1:E1: |
Merge and Center knop |
|
E10: |
Termijn |
|
C9:E9 |
Merge and Center knop |
|
B11: |
=$D$3 (ongewijzigd) |
|
B12: |
=B11-D11, sleep fill handle naar B12:B20 (ongewijzigd) |
|
C11: |
=B11*IF(A11<=$B$4,$D$4,$D$5) sleep fill handle naar C11:C20 |
|
D11: |
=$D$3/$D$6, sleep fill handle naar D11:D20 |
|
E11: |
=C11+D11, sleep fill handle naar E11:E20 |
|
F11: |
=D11 |
|
F12: |
=F11+D12, sleep fill handle naar F12:F20 |
|
B21: |
=B20-D20 |
|
C21: |
=SUM(C11:C20) (ongewijzigd) |
|
D21: |
=SUM(D11:D20) (ongewijzigd) |
|
E21: |
=SUM(E11:E20) |
|
F21: |
=D21 (ongewijzigd) |
De charts zijn mee aangepast met het werkblad, behalve de titels van de Stacked Column en Line charts, die je moet wijzigen in Constante aflossing.
Opmerkingen:
Er zijn nu twee rentevoeten, één voor de eerste vijf jaar en één voor de laatste vijf jaar. Bij een dergelijk aflossingsplan moet het jaarlijks kostenpercentage (JKP) worden vermeld, dat niets anders is dan de werkelijke rentevoet op jaarbasis. Je kan deze berekenen wanneer je alle kasstromen in een kolom (of rij) hebt staan. Je kan hem in cel D7 plaatsen waarin voorheen de hier betekenisloze constante termijn van de annuïteit stond. De positieve kasstromen (door de financiële instelling te ontvangen bedragen) staan reeds in de toegevoegde kolom met de termijnen. Bij de aanvang van de lening (jaar 0) moet in dezelfde kolom nog het negatieve bedrag van de lening worden vermeld. Voeg daarom een rij toe vóór het eerste jaar. Je kan deze achteraf eventueel verbergen. De extra commando's en formules zijn:
| 11:11: | Insert, Rows | |
| A11: | 0 | |
| E11: | =-$D$3 | |
| A7: | Jaarlijks kostenpercentage | |
| C7: | i | |
| D7: | =IRR(E11:E21) | 10.19% (afgerond op 2 decimalen) |
Dit leidt tot het definitieve werkblad Constante aflossing (figuur 9).
Opmerkingen:
Tools, Options..., Calculation tabblad
In het Calculation tabblad van het Options dialoogvenster wijzig je de Maximum change (standaard 0.001) in bv. 0.0001. Dan zal je een jaarlijks kostenpercentage van 10.5% bekomen door ib (D5) te wijzigen tot 12.61%. Wanneer je de Maximum change ongewijzigd op 0.001 laat, verkrijg je een jaarlijks kostenpercentage van 10.42% met een ib van 12.21%.
Beperk het maximale aantal iteraties (Maximum iterations; standaard 100).
Blijf doorrekenen tot opeenvolgende resultaten minder dan een bepaalde waarde van elkaar verschillen (Maximum change; standaard 0.001).
Uiteraard zullen de hier ingestelde waarden de berekeningssnelheid sterk beïnvloeden.
Naast de hier behandelde financiële functies zijn er nog andere. Wij behandelen enkele financiële functies uit twee categorieën.
Excel bevat een groot aantal functies om het aantal dagen te berekenen. Hierna volgen enkele functies om het aantal dagen tussen twee datums te tellen. Voorbeelden bevinden zich in het werkblad Rentedagen (figuur 10).
Door de datums van elkaar af te trekken verkrijg je het verschil in dagen. Met de functie
DAYS360(start_date,end_date,TRUE)
wordt het verschil tussen end_date en start_date berekend op basis van maanden van 30 dagen. De functie bevindt zich in de Date & Time categorie. Het derde argument TRUE zorgt ervoor dat de berekeningen op Europese wijze gebeuren. Het is enkel van belang wanneer één van de datums op de 31ste dag van een maand valt. De standaard waarde FALSE laat de berekening op Amerikaanse wijze gebeuren.
Voorbeeld:
| B1: | 29/05/97 | (begindatum) | |
| B2: | 2/09/97 | (einddatum) | |
| B3: | =B2-B1 | 96 | (aantal dagen) |
| B4: | =DAYS360(B1,B2,TRUE) | 93 | (aantal rentedagen: 1+3*30+2) |
Je kan het aantal verlopen rentedagen tussen een coupondatum en een valutadatum berekenen met de functie
COUPDAYSNC(settlement,maturity,frequency,basis)
Deze functie bevindt zich in de Financial category. Settlement geeft de coupondatum aan (de datum waarop de coupon wordt aangekocht), maturity geeft de valutadatum aan (de datum waarop de coupon wordt uitbetaald), frequency geeft het aantal jaarlijkse betalingen aan (1, 2 of 4) en basis geeft aan hoeveel dagen in een maand en in een jaar worden gerekend (0: 30, 360 met Amerikaanse berekening - standaard; 1: exact, exact; 2: exact, 360; 3: exact, 365, 4: 30,360 met Europese berekening). Dit laatste argument is optioneel.
Voorbeeld:
| B6: | 23/03/97 | (coupondatum) | |
| B7: | 14/09/97 | (valutadatum) | |
| B8: |
=COUPDAYSNC($B$6,$B$7,1,4) |
171 | (handelsjaar: 7+5*30+14) |
| B9: | =COUPDAYSNC($B$6,$B$7,1,1) | 175 | (8+30+31+30+31+31+14) |
Opmerking:
Met de volgende financiële functies kan je een bedrag afschrijven gedurende een aantal periodes:
SLN(cost,salvage,life)
DDB(cost,salvage,life,period,factor)
DB(cost,salvage,life,period,month)
VDB(cost,salvage,life,start_period,end_period,factor,no_switch)
SYD(cost,salvage,life,per)
Bij al deze functies stelt cost het bij aanschaf betaalde bedrag, salvage de restwaarde op het einde van de afschrijvingen en life het aantal afschrijvingsperiode ertussen. Period geeft de periode aan waarvoor het bedrag van de afschrijving wordt berekend.
SLN(cost,salvage,life) = (cost-salvage)/life
DDB(cost,salvage,life,period,factor) = (cost-tot. afschr. vorige periodes)*factor/life
DB(cost,salvage,life,period,month) = (cost-tot. afschr. vorige periodes)*rate
VDB(cost,salvage,life,start_period,end_period,factor,no_switch): De totale afschrijving tussen start_period en end_period wordt berekend. De DDB methode wordt gebruikt, maar wanneer de logische parameter no_switch de standaard waarde FALSE heeft wordt de DDB methode vervangen door de SLN methode van zodra de SLN methode een bedrag oplevert groter dan de DDB methode. Vandaar de naam Variable Declining Balance.
Bij de DDB functie wordt in het eerste jaar (bij de standaard waarde 2 voor factor) het dubbele afgeschreven t.o.v. bij de SLN methode, waarbij de restwaarde niet in rekening wordt gebracht. Elke volgende periode wordt een bedrag afgeschreven dat volgens dezelfde formule wordt berekend t.o.v. het nog resterende bedrag. Deze methode heeft als nadeel dat op het einde meestal een nog niet afgeschreven bedrag overblijft. Van zodra dit kleiner is dan de restwaarde wordt uiteraard niets meer afgeschreven. De DB methode gebruikt een factor (rate) die rekening houdt met de restwaarde, zodanig dat op het einde steeds precies de restwaarde overblijft (op afrondingsfouten na). Met de VDB methode verkrijg je dit resultaat eveneens door op het einde over te gaan op een SLN afschrijving, wat voor de laatste jaren grotere af te schrijven bedragen oplevert dan de DDB methode. Hierbij moet de parameter switch wel de standaard waarde FALSE hebben.
SYD(cost,salvage,life,per)=(cost-salvage)*(life-per+1)*2/(life*(life+1))
De verschillende methodes kan je het best illustreren aan de hand van een voorbeeld, waarbij je de resultaten numeriek en grafisch vergelijkt. Dit voorbeeld staat in het werkblad Afschrijvingen (figuur 11):
|
A1: |
Afschrijvingen |
|
C1: |
aanschafwaarde |
|
C2: |
restwaarde |
|
C3: |
levensduur |
|
E1: |
120000 BF |
|
E2: |
10000 BF |
|
E3: |
10 |
|
A5: |
jaar |
|
A6:A15: |
1,2, ...,10 |
|
B5: |
SLN |
|
B6:B15: |
=SLN($E$1,$E$2,$E$3) |
|
D5: |
DDB |
|
D6: |
=DDB($E$1,$E$2,$E$3,A6), sleep fill handle naar D6:D15 |
|
F5: |
DB |
|
F6: |
=DB($E$1,$E$2,$E$3,A6), sleep fill handle naar F6:F15 |
|
H5: |
VDB |
|
H6: |
=VDB($E$1,$E$2,$E$3,A6-1,A6), sleep fill handle naar H6:H15 |
|
J5: |
SYD |
|
J6: |
=SYD($E$1,$E$2,$E$3,A6), sleep fill handle naar J6:J15 |
|
C6: |
=$E$1-B6 |
|
C7: |
=C6-B7, sleep fill handle naar C7:C15 |
|
C6:C15 |
CTRL+sleep naar E6:E15, G6:G15, I6:I15, K6:K15 |