Jump to content
Co nového? Mé kurzy
Komunita:
Diskuze Sledované příspěvky Žebříčky

Doporučené příspěvky

  • Odpovědí 905
  • Vytvořeno
  • Poslední

Nejaktivnější diskutující

Nejaktivnější diskutující

Publikované obrázky

  • 2 týdny později...
Odesláno

Dnes výjimečně nepotřebuji žádnou radu, ale chci vás všechny co pracujete z excelem upozornit na jednu chybu excelu, která mi kdysi zamotala hlavu a teď jsem se s tím znova setkal.
Pokud jste někde někdy používali vzorec, který porovnává dvě stejné hodnoty (například když 1=1 pravda) přičemž minimálně jedna z těchto hodnot byla výsledkem funkce, možná jste se divili jakto že vám to háže nepravdu, když je to tak zjevné 1 = 1 je přece zjevná pravda. Problém je v tom, že když si tu hodnotu, která je výsledkem funkce ve formátu buňky rozšíříte na 30 desetinných míst, uvidíte, že tam nemáte 1 ale např. 1,00000000000000něco000000. viz screenshot. A v tom je právě ta zrada. Obejít se to dá poměrně snadno, výsledek zaokrouhlíte funkcí ZAOKROUHLIT a je to. Příklad funkce jejímž výsledkem by mělo být 1 ale je 1,00000000000něco0000000 a jak to opravit:
=KDYŽ(G30="";"";KDYŽ(B30="";"";($G30-$F30)*$E$6)) = špatný výsledek
=KDYŽ(G30="";"";KDYŽ(B30="";"";ZAOKROUHLIT(($G30-$F30)*$E$6;0))) = správný výsledek té samé funkce.

Odesláno

Já bych teda tuto situaci viděl trochu jinak. Dle mě naopak Excel pracuje správně. Přeci 1.0000000000000011000 nemůže být to samé jako 1.0000000000000000000.
Spíše bych pátral po tom, jakým způsobem ty čísla vznikly a tam hledal případnou chybu.

Odesláno

To atari:
Samozřejmě, že 1,0000000000000000000000něco0000000 se nerovná 1,0000000000000000000000000000, ale problém je v tom, že ta první jednička je výsledkem jednoduché početní operace 693,3 mínus 693,2 krát 10. Výsledek má být 1,000000000000000000000000000000000 ale není. Prostě někde soudruzi z Microsoftu udělali chybu. Klidně si to vyzkoušej.

Odesláno

S touto chybou musíš vždycky počítat ve všech programech (nejen Excel). Je to daný uložením reálnýho čísla ve dvojkový soustavě (jen nuly a jedničky). Standardně se to řeší tím že místo podmínky a = b je správně absolutní hodnota(a - b)

  • 3 týdny později...

×
×
  • Vytvořit...