Forum » Programska oprema » Excel - problem z decimalkami
Excel - problem z decimalkami
bauci ::
V stolpcu A imam cene brez davka. V stolpcu B izračunam davek =A*0,22.
Izračunam vsoto stolpca A in vsoto stolpca B.
Ko pa za kontrolo izračunam davek od vsote stolpca A, ta ni enak vsoti davkov v stolpcu B - razlika je cent ali dva.
Uporabil sem že funkcijo ROUND in v nastavitvah nastavitl "natančnost, kot je prikazana", pa rezultat še vedno ni enak.
Katero funkcijo bi še lahko uporabil, da bi bi rezultat seštevka v stolpcu B enak direktnemu izračunu iz vsote stolpca A *0,22?
Izračunam vsoto stolpca A in vsoto stolpca B.
Ko pa za kontrolo izračunam davek od vsote stolpca A, ta ni enak vsoti davkov v stolpcu B - razlika je cent ali dva.
Uporabil sem že funkcijo ROUND in v nastavitvah nastavitl "natančnost, kot je prikazana", pa rezultat še vedno ni enak.
Katero funkcijo bi še lahko uporabil, da bi bi rezultat seštevka v stolpcu B enak direktnemu izračunu iz vsote stolpca A *0,22?
smetko ::
To se dogaja samo, če cene v stolpcu A niso zaokrožene na 2 do 12 decimalke natančno ( ob predpostavki da je "natančnost, kot je prikazana" izklopljena).
Razlaga: Če množite dve števili, katera imata dve decimalki, je rezultat vedno točen na 4 decimalke.
Brez da spreminjate kolona A, to lahko dosežete z funkcijo
=SUM(ROUND(A:A;4)*0,22) pri tem da pri celici uporabite =ROUND(An;4)*0,22 ; (n=1..1048576)
Predpostavka: da je zaokroževanje pri cenah na 4. decimalke sprejemljivo. V tem primeru mora rezultat biti prikazan na 6 decimalk natančno, da se številke ujemajo.
Razlaga: Če množite dve števili, katera imata dve decimalki, je rezultat vedno točen na 4 decimalke.
Brez da spreminjate kolona A, to lahko dosežete z funkcijo
=SUM(ROUND(A:A;4)*0,22) pri tem da pri celici uporabite =ROUND(An;4)*0,22 ; (n=1..1048576)
Predpostavka: da je zaokroževanje pri cenah na 4. decimalke sprejemljivo. V tem primeru mora rezultat biti prikazan na 6 decimalk natančno, da se številke ujemajo.
No comment
bauci ::
Cene v stolpcu A imajo samo dve decimalki. Ko jih zmnožim z 0,22 dobim 4 decimalke ampak tudi ce uporabim funkcijo ROUND v vseh celicah (tudi v zmnožku) se mi vsota in izračun iz vsote razlikuje za 1 ali 2 stotinki (centa).
Zgodovina sprememb…
- spremenil: bauci ()
bauci ::
Še en majhen primer:
Stolpec A Stolpec B (stolpec A * 0,22)
5099,75€ 1121,95€
14279,30€ 3141,45€
410,60€ 90,33€
------------ -----------
19789,65€ 4353,73€
19789,65€ * 0,22 4353,72€ razlika 0,01€.
Problem je v tem, da se ti zneski kontrolirajo in če nastanejo takšne razlike (cent ali dva) se zavrne izplačilo.
Stolpec A Stolpec B (stolpec A * 0,22)
5099,75€ 1121,95€
14279,30€ 3141,45€
410,60€ 90,33€
------------ -----------
19789,65€ 4353,73€
19789,65€ * 0,22 4353,72€ razlika 0,01€.
Problem je v tem, da se ti zneski kontrolirajo in če nastanejo takšne razlike (cent ali dva) se zavrne izplačilo.
smacker ::
Do tega pride zaradi zaokroževanja in je povsem logičen pojav - če štirikrat zaokrožiš navzdol za četrtino centa, potem ti pri vsoti cel cent zmanjka. Več kot je postavk in zaokroževanj, večja je napaka.
Če prav vem (1x sem programiral račune po navodilih naročnika, nisem preverjal kaj piše v zakonodaji) se vsi vmesni izračuni na posameznem računu/predračunu/plačilnem nalogu/... izvajajo do četrte decimalke natančno, končni znesek pa se zaokroži na dve decimalki.
Če prav vem (1x sem programiral račune po navodilih naročnika, nisem preverjal kaj piše v zakonodaji) se vsi vmesni izračuni na posameznem računu/predračunu/plačilnem nalogu/... izvajajo do četrte decimalke natančno, končni znesek pa se zaokroži na dve decimalki.
bauci ::
Sej meni je to jasno ampak ljudem, ki preverjajo izračune pa ne. Pri njih je samo - je enako - ni enako. Do sedaj sem to reševal tako, da sem nekaterim zneskom prištel ali odštel 0,005 in se je potem nekako izšlo.
smacker ::
Z zaokrožitvijo na dve decimalki povzročiš absolutno napako +- 0,005. Če zaokrožiš 10 postavk in te postavke sešteješ (pri seštevanju se absolutna napaka sešteva), potem dobiš absolutno napako v rezultatu +- 0,05. Če sešteješ "točne" zneske postavk in na koncu zaokrožiš, pa imaš napako v rezultatu le +- 0,005. Pri 10 postavkah se v najslabšem primeru torej rezultata lahko razlikujeta za max. 0,045€. Temu se ne gre izognit, ne moreš računat po dveh postopkih (ki imata različno stabilnost) in pričakovat enakega rezultata.
Z ljudmi ki zneske kontrolirajo, se je treba dogovorit za enoten način izračuna. Če gre za izdajo računov, potem se je treba držat pravil ki jih določa zakonodaja.
Z ljudmi ki zneske kontrolirajo, se je treba dogovorit za enoten način izračuna. Če gre za izdajo računov, potem se je treba držat pravil ki jih določa zakonodaja.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | pomoč excel (strani: 1 2 )Oddelek: Programska oprema | 7989 (3566) | -JM- |
» | Excell in WordOddelek: Pomoč in nasveti | 1022 (818) | mirator |
» | Excel pomočOddelek: Pomoč in nasveti | 1086 (937) | PunkDude |
» | Prevara? Račun za 29:47 min klicev na komercialno št. pred pol letaOddelek: Loža | 8744 (5784) | GupeM |
» | Kako zaokrožiti? Cena brez davka + popust + DDV decimalkeOddelek: Programiranje | 4419 (3576) | kunigunda |