Zámerná chyba v Exceli

Verili by ste, že programátori Excelu vytvorili zámernú chybu? Nezdá sa vám to? Tak si to vyskúšajte! Naformátujte si v Exceli dva stĺpce ako dátum. Formát si zvoľte vlastný - dddd dd.mm.yyyy. Do jedného stĺpca si vložte posledné dni februára 1900 a do druhého (pre zistenie, že v inom roku je to správne) posledné dni februára napr. roku 2001.

Príklad

A hľa, rok 1900 bol podľa Excelu prestupný rok! Udáva totiž 29. február (únor). Pritom, od r. 1582 každý rok Gregoriánskeho kalendára, delitelný 4 - mi, okrem prípadov, keď je delitelný 100 - ma ale nie je delitelný 400, je prestupný, teda február má 29 dní. Táto chyba bola urobená zámerne, z dôvodov kompatibility s tabuľkovým procesorom Lotus 1-2-3. Údajne odstránenie chyby by znamenalo oveľa viac dodatočných problémov. Nakoniec ide len o dni medzi 1.1.1900 a 1.3.1900.V tomto intervale mená dní udáva Excel nesprávne - dňa 28.2.1900 je streda a nie utorok, atď.

Nasledovný algoritmus v kóde VBA Vám umožní rýchle zistene, ktorý rok je prestupný:

Public Function Prest(rok As Integer) As Boolean
' Zisti, či je rok prestupný
' ak áno vlož do bunky TRUE, ak nie FALSE
   Prest = False
   If rok Mod 4 = 0 And (rok Mod 100 <> 0) Then Prest = True
   If rok Mod 100 = 0 And rok Mod 400 = 0 Then Prest = True
End Function

Je to vlastná funkcia, ktorá ak ju uložíte ako *.XLA, tak sa bude zobrazovať v kategórii definované používateľom,, pokiaľ ju zdosupníte v doplnkoch. O vlastných funkciách som písala v článku Funkcie a vlastné funkcie.

Využitie finančných funkcií v demografii

RATE

Túto funkciu môžeme využiť napr. na určenie priemerného ročného prírastku obyvateľstva. Vzorec pre RATE :
=RATE(O;0;-PZ;PK)

Tabuľka Excelu

Na obr. je zobrazená štatistika obyvateľstva Indie v rokoch 1985 - 1997. (Zdroj: Statistics Division, United Nations Economic and Social Commission for Asia and the Pacific.) V 5 riadku tabuľky v stĺpcoch B až F sú nasledovné vzorce:

=RATE(5;0;-B3;C3)
=RATE(5;0;-C3;D3)
=RATE(5;0;-D3;E3)
=RATE(1;0;-E3;F3)
=RATE(1;0;-F3;G3)

Odchyľky výpočtu od hodnôt udávaných zdrojom sú spôsobené zaokrúhlením počtu obyvateľstva v miliónoch na celé číslo.

Výpočet doby zdvojnásobenia počtu obyvateľstva

Čas zdvojnásobenia populácie sa vypočíta na základe vzorcov pre zložené úrokovanie vo finančnej matematike:
Kt=K0(1 + i)t
K t je výška kapitálu na konci t -ého roku, K 0 je výška pôvodného kapitálu, t je doba splatnosti kapitálu v rokoch, i je úroková sadzba v stotinách. Odvodenie výpočtu času t zdvojnásobenia kapitálu:
Kt=2K0=K0(1 + i)t 2K0/K0=(1 + i)t 2=(1 + i)t log 2=t*log(1 + i) t=log 2/log(1 + i)
Ak miesto i - úrokovej sadzby, zadáme priemerný ročný prírastok obyvateľov v percentách, dostaneme čas zdvojnásobenia počtu obyvateľstva.

Tabuľka Excelu

V bunke D2 je vzorec : =LOG10(2)/LOG10(1+2,9%)    Vzorec udáva čas zdvojnásobenia počtu obzvateľstva v rokoch, v tomto príklade pre Nigériu, pri priemernom ročnom prírastku 2,9%. Priemerný ročný prírastok sa môže značne meniť, takže výpočty zdvojnásobenia nie je možné extrapolovať do vzdialenej budúcnosti.

Príklady boli vypracované v Excel 2000 pod OS Windows XP.
Valid HTML 4.01 Transitional
Stránka je v súlade s aktuálnymi normami.



Kontakty
© Klára Mrázová