Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 19. 2. 2015 11:06:22

kohys
Člen
Registrace: 31. 1. 2011
Příspěvků: 6

Matematická formule uvnitř funkce ROUND, zvláštní zaokrouhlování - VYŘ

Zdravím,

mám ve dvou buňkách dvě funkce round, které obsahují matematickou formuli a zaokrouhlují na jedno desetinné místo. Pokud výsledek těchto dvou buněk od sebe odečítám, dostávám číslo s více desetinnými místy než jedním, např. 0,2000000000001. Není to zvláštní?

Můj sešit:

A1 =2,93   
A2 =11488 B2 =12202
A3 =11685 B3 =12409

A4 =ROUND((A2*A1)/(A3-A2)/12;1)  B4 =ROUND((B2*A1)/(B3-B2)/12;1)

A5 =B4-A4 ... výsledek 0,200000000000001

Čekal bych, že funkce ROUND nejprve vyhodnotí formuli a pak výsledek zaokrouhlí. Nebo pracuje jinak? Díky za odpovědi. Zajímavé je, že hodnoty A4, B4 jsou zobrazeny jako skutečně zaokrouhlené na jedno deset. místo.

Editoval kohys (24. 2. 2015 08:39:54)

Offline

#2 19. 2. 2015 14:25:44

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 697

Re: Matematická formule uvnitř funkce ROUND, zvláštní zaokrouhlování - VYŘ

No zkuste si odečíst 14,4 - 14,2 a vyjde vám to stejné. Z toho plyne, že předchozí zaokrouhlení je správné a funkce ROUND je v tom nevině. Chyba je v následné přesnosti výpočtu. (a je jedno jestli je zadání odkazem nebo přímo v buňce a jak hodnoty vznikly zda přímo nebo nějakým výpočtem). Ještě lepší je třeba 14,4-14,3=0,09999999999999960
Ovšem jak dosáhnout úplné přesnosti to nevím.

ještě jsem si tak pohrál:
=8,4-8,3=0,09999999999999960000
=7,4-7,3=0,10000000000000100000
=3,4-3,3=0,10000000000000000000
=1286,4-1286,3=0,10000000000013600000

Editoval ludviktrnka (19. 2. 2015 14:40:06)


LibreOffice 5.4.

Offline

#3 20. 2. 2015 13:35:06

kohys
Člen
Registrace: 31. 1. 2011
Příspěvků: 6

Re: Matematická formule uvnitř funkce ROUND, zvláštní zaokrouhlování - VYŘ

Máte pravdu. Na vině je samotné odčítání. Zkusil jsem excel a ten funguje obdobně. Mě ani tak nešlo o přesnost jako o překvapení, že když porovnávám dvě buňky logickým operátorem, tak dostávám jiné výsledky, než bych čekal :-). Nějak se s tím nemohu stále smířit, pokud mám v jedné buňce výsledek odčítání 14,4 - 14,3 a porovnávám s buňkou, kde zadám 0,1, je první hodnota menší... Nejde nějak jednoduše zajistit, aby to fungovalo "správně"?

Offline

#4 20. 2. 2015 13:47:49

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Re: Matematická formule uvnitř funkce ROUND, zvláštní zaokrouhlování - VYŘ

Asi byste musel laborovat. Například pro jedno desetinné číslo připravit nejprve celočíselné hodnoty. Uděláte například podíl, vynásobíte deseti a zadáte =INT(číslo,xyzxyzghz). Následně toto číslo zpětně podělit desítkou. Ale jde fakt asi jen o samoúčelné řešení.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí