Teď jste offline a čekáte, až se znova připojí internet.

Jak opravit zaokrouhlovací chyby v aritmetice s plovoucí desetinnou čárkou

Příznaky
U řady kombinací aritmetických operací s plovoucí desetinnou čárkou v aplikaci Microsoft Excel a sadě Microsoft Works se může stát, že výsledky jsou nesprávné (o velmi malou hodnotu). Příklad: Rovnice
=1*(0,5-0,4-0,1)
může být vyhodnocena jako (-2,78E-17) nebo -0,0000000000000000278 místo 0.
Příčina
Toto chování nepředstavuje potíže ani omezení aplikace Excel nebo sady Works. K tomuto chování dochází, protože standard IEEE (Institute of Electrical and Electronics Engineers) 754 vyžaduje, aby čísla byla ukládána v binárním formátu.
Jak potíže obejít

Metoda 1

Chcete-li minimalizovat nepřesnosti způsobené ukládáním čísel s plovoucí desetinnou čárkou, použijte funkci Round() a zaokrouhlete čísla na tolik desetinných míst, kolik vyžaduje požadovaný výpočet. Používáte-li měnu, budete pravděpodobně zaokrouhlovat na 2 desetinná místa:

=ROUND(1*(0,5-0,4-0,1),2)

Metoda 2

Chybám zaokrouhlení čísel s plovoucí desetinnou čárkou můžete často zabránit použitím možnosti Přesnost podle zobrazení. Tato možnost vynutí, aby každé číslo v sešitu mělo přesnost, která je v sešitu zobrazena.

Poznámka: Použití možnosti Přesnost podle zobrazení může mít kumulativní vliv, který může postupně zvyšovat nepřesnost dat. Tuto možnost proto používejte pouze v případě, kdy jste si jisti, že zobrazená přesnost zachová správnost dat.

Chcete-li použít možnost Přesnost podle zobrazení, postupujte takto:

Excel 2000, Excel 2002 a Excel 2003
  1. V nabídce Nástroje klikněte na příkaz Možnosti.
  2. Na kartě Výpočty kliknutím zaškrtněte políčko Přesnost podle zobrazení v části Možnosti sešitu.
  3. Klikněte na tlačítko OK.
Excel 2007
  1. Klikněte na Tlačítko Microsoft Office, na položku Možnosti aplikace Excel a pak na položku Upřesnit.
  2. V části Při výpočtu tohoto sešitu vyberte požadovaný sešit, zaškrtněte políčko Nastavit přesnost podle zobrazení a pak klikněte na tlačítko OK.
Použijete-li možnost Přesnost podle zobrazení, je třeba pro čísla použít specifický číselný formát.

Chcete-li naformátovat buňky na určitou přesnost, postupujte takto:
  1. Pravým tlačítkem myši klikněte na buňky, které chcete formátovat, a pak klikněte na příkaz Formát buněk.
  2. Na kartě Číslo klikněte v poli Druh na možnost Číslo.
  3. V poli Desetinná místa vyberte požadovanou přesnost (počet desetinných míst).
  4. Klikněte na tlačítko OK.
Excel 2010
  1. Klikněte na kartu Soubor, na položku Možnosti aplikace Excel a potom na položku Upřesnit.
  2. V části Při výpočtu tohoto sešitu vyberte požadovaný sešit, zaškrtněte políčko Nastavit přesnost podle zobrazení a pak klikněte na tlačítko OK.
Použijete-li možnost Přesnost podle zobrazení, je třeba pro čísla použít specifický číselný formát.

Chcete-li naformátovat buňky na určitou přesnost, postupujte takto:
  1. Pravým tlačítkem myši klikněte na buňky, které chcete formátovat, a pak klikněte na příkaz Formát buněk.
  2. Na kartě Číslo klikněte v poli Druh na možnost Číslo.
  3. V poli Desetinná místa vyberte požadovanou přesnost (počet desetinných míst).
  4. Klikněte na tlačítko OK.
Další informace
Standard IEEE 754 představuje metodu kompaktního ukládání čísel s plovoucí desetinnou čárkou, která usnadňuje manipulaci s těmito čísly. Tento standard je využíván koprocesory Intel a většinou programů pro počítače PC k implementaci operací s plovoucí desetinnou čárkou.

Standard IEEE 754 specifikuje, že z důvodu omezení nároků na ukládání jsou čísla ukládána v binárním formátu, a umožňuje využití integrovaných binárních aritmetických instrukcí, které jsou k dispozici u všech mikroprocesorů, k relativně rychlému zpracování dat. Některá jednoduchá neperiodická desetinná čísla však jsou převedena na periodická binární čísla, která nelze uložit zcela přesně.

Například číslo 1/10 lze v desítkové soustavě vyjádřit jako jednoduché desetinné číslo:
0,1
. Stejné číslo v binárním formátu je však periodické binární desetinné číslo:
.0001100011000111000111 (a tak dále)
. Toto číslo nelze vyjádřit v konečném (omezeném) prostoru. Toto číslo je proto při uložení zaokrouhleno dolů o přibližně -2,78E-17.

Pokud je k získání výsledku třeba provést několik aritmetických operací, mohou se tyto chyby zaokrouhlení kumulovat.
Odkazy
Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
78113 Aritmetické operace s plovoucí desetinnou čárkou mohou v aplikaci Excel poskytovat nepřesné výsledky

Excel 2007 a Excel 2010

Chcete-li zobrazit další informace o postupu při změně přesnosti výpočtu, klikněte na tlačítko Nápověda aplikace Microsoft Office Excel na panelu nástrojů, zadejte text změna doby a postupu výpočtu vzorců v nápovědě aplikace Excel a pak klikněte na tlačítko Hledat. Zobrazí se příslušné téma nápovědy.

Excel 2002 a Excel 2003

Další informace o změně přesnosti výpočtu zobrazíte kliknutím na příkaz Nápověda pro Microsoft Excel v nabídce Nápověda, zadáním textu změna doby a postupu výpočtu vzorců do pole v Pomocníkovi Office nebo v Průvodci odpověďmi a kliknutím na tlačítko Hledat.

Excel 2000

Další informace o změně přesnosti výpočtu zobrazíte kliknutím na příkaz Nápověda pro Microsoft Excel v nabídce Nápověda, zadáním textu změna způsobu, jímž aplikace Microsoft Excel počítá vzorce do pole v Pomocníkovi Office nebo v Průvodci odpověďmi a kliknutím na tlačítko Hledat.
XL
Vlastnosti

ID článku: 214118 - Poslední kontrola: 09/18/2011 23:32:00 - Revize: 2.0

Microsoft Excel 2000 Standard Edition, Microsoft Excel 2002 Standard Edition, Microsoft Office Excel 2007, Microsoft Excel 2010

  • kbprb KB214118
Váš názor
e="display: none; " src="https://c1.microsoft.com/c.gif?DI=4050&did=1&t=">/html>/html>