Office
Přihlásit se
Jak se vyhnout nefunkčním vzorcům

Jak se vyhnout nefunkčním vzorcům

Pokud Excel nedokáže vyhodnotit vzorec, který se pokoušíte vytvořit, může se zobrazit takováto chybová zpráva:

Obrázek excelového dialogu Problém s tímto vzorcem

Bohužel to znamená, že Excel nedokáže pochopit, co chcete udělat, takže může být lepší začít celý vzorec vytvářet znovu od začátku.

Začněte tím, že kliknutím na OK nebo stisknutím ESC zavřete chybovou zprávu.

Vrátíte se do buňky s nefunkčním vzorcem, která bude v režimu úprav, a Excel zvýrazní místo, kde našel nějaký problém. Pokud ani tady nevíte, co udělat pro to, aby vzorec fungoval, a chcete začít znova, můžete znovu stisknout ESC nebo kliknout na tlačítko Zrušit v řádku vzorců. Tím ukončíte režim úprav.

Obrázek tlačítka Zrušit na řádku vzorců

Pokud si v tomto bodě nejste jistí, co udělat nebo jakou pomoc byste přesně potřebovali, můžete zkusit najít podobný dotaz na fóru komunity Excelu nebo tam publikovat svůj vlastní.

Odkaz na fórum komunity Excelu

Pokud se budete chtít posunout dál, použijte tento kontrolní seznam, který obsahuje postupy pro řešení potíží, pomocí kterých můžete zjistit, co by ve vzorcích mohlo být špatně.

Excel pomocí chyb se značkou #, jako jsou #HODNOTA!, #ODKAZ!, #ČÍSLO!, #NENÍ_K_DISPOZICI, #DĚLENÍ_NULOU!, #NÁZEV? a #NULL!, indikuje, že něco ve vzorci nefunguje správně. Třeba příčinou chyby #HODNOTA! je nesprávné formátování nebo nepodporované datové typy v argumentech. Chyba #ODKAZ! se zase zobrazí, když vzorec odkazuje na buňky, které jsou odstraněné nebo nahrazené jinými daty. U každé chyby se budou postupy pro řešení potíží lišit.

Poznámka: #### není chyba související se vzorcem. Znamená jenom, že sloupec není dost široký, aby se do něj vešel obsah buňky. Jednoduše přetažením sloupec rozšiřte nebo přejděte na Domů > Formát > Přizpůsobit šířku sloupců.

Obrázek možnosti Domů > Formát > Automaticky upravit šířky sloupců

Informace o chybě se značkou #, která se vám zobrazuje, najdete v jednom z odpovídajících témat:

Pokaždé když otevřete tabulku, která obsahuje vzorce odkazující na hodnoty v jiných tabulkách, zobrazí se dotaz, jestli chcete odkazy aktualizovat nebo je nechat, jak jsou.

Dialogové okno s přerušenými odkazy v Excelu

Excel zobrazí výše uvedené dialogové okno, aby zajistil, že vzorce v aktuální tabulce budou vždy ukazovat na nejaktuálnější hodnotu – pro případ, že se hodnota odkazu změnila. Můžete zvolit možnost, že se odkazy mají aktualizovat, nebo když je nechcete aktualizovat, můžete tuto akci přeskočit. I když se rozhodnete odkazy v tabulce neaktualizovat, můžete je aktualizovat ručně, kdykoli budete chtít.

Zobrazování tohoto dialogového okna při spuštění můžete kdykoli vypnout. Uděláte to tak, že přejdete na Soubor > Možnosti > Upřesnit > Obecné a zrušíte zaškrtnutí políčka Potvrdit aktualizaci automatických propojení. V Excelu 2007 byste klikli na Tlačítko Office > Možnosti aplikace Excel. Tlačítko Office 2007

Obrázek možnosti Potvrzovat aktualizaci automatických odkazů

Důležité informace: Pokud nefunkční odkazy řešíte poprvé, potřebujete si připomenout, jak se nefunkční odkazy řeší, nebo nevíte, jestli máte odkazy aktualizovat, přečtěte si článek Řízení, kdy mají být aktualizovány externí odkazy (propojení).

Pokud se nezobrazuje hodnota vzorce, postupujte takto:

  • Zkontrolujte, jestli není Excel nastavený tak, aby v tabulce zobrazoval vzorce. Uděláte to tak, že kliknete na kartu Vzorce a ve skupině Závislosti vzorců kliknete na tlačítko Zobrazit vzorce.

    Tip: Můžete taky použít klávesovou zkratku Ctrl + ` (klávesa nad klávesou Tab – při anglickém rozložení klávesnice). Když to uděláte, sloupce se automaticky rozšíří a zobrazí se v nich vzorce. Nemějte ale obavy, když přepnete zpátky na normální zobrazení, šířka sloupců se zase zmenší.

  • Pokud se problém nepovede vyřešit ani podle předchozího kroku, je možné, že je buňka naformátovaná jako text. Můžete na buňku kliknout pravým tlačítkem myši a výběrem možností Formát buněk > Obecný (nebo stisknutím kombinace kláves Ctrl + 1) a následným stisknutím kláves F2 > Enter formát změnit.

  • Pokud máte ve sloupci velkou oblast buněk, které jsou naformátované jako text, můžete oblast vybrat, aplikovat na ni formát čísla podle svých potřeb a pak přejít na Data > Text do sloupců > Dokončit. Tím se formát použije u všech vybraných buněk.

    Obrázek dialogu Data > Text do sloupců

Když se vzorec nepřepočítá, musíte zkontrolovat, jestli je v Excelu povolený automatický přepočet. Pokud je povolený ruční přepočet, vzorce se nepřepočítávají. Nastavení automatického přepočtu zkontrolujete takto:

  1. Klikněte na kartu Soubor, na položku Možnosti a poté na kategorii Vzorce.

  2. V oddílu Možnosti výpočtů v části Přepočet sešitu musí být vybrána možnost Automaticky.

    Obrázek možností Automatický výpočet a Ruční výpočet

Další informace o výpočtech najdete v článku Změna přepočtu, iterace nebo přesnosti vzorce.

Cyklický odkaz vznikne, když vzorec odkazuje na buňku, ve které se nachází. Opravit ho můžete tak, že vzorec přesunete do jiné buňky nebo změníte syntaxi vzorce na takovou, která nezpůsobuje cyklické odkazy. V určitých situacích ale můžete cyklické odkazy potřebovat, protože díky nim můžou funkce iterovat – opakovaně počítat, dokud nebude splněna určitá číselná podmínka. V takovém případě musíte povolit iterativní přepočet.

Další informace o cyklických odkazech najdete v článku Nalezení a oprava cyklických odkazů

Pokud zadání v buňce nebude začínat symbolem rovnítka, nebude se brát jako vzorec a nebude se ani počítat. Je to běžná chyba.

Pokud zadáte SUMA(A1:A10), místo výsledku vzorce se zobrazí textový řetězec SUMA(A1:A10). Pokud zadáte 11/2, místo podílu čísel 11 a 2 se zobrazí datum, třeba 11. únor nebo 11/02/2009.

Aby se zabránilo těmto neočekávaným výsledkům, vždy začínejte funkci symbolem rovnítka. Zadejte třeba: =SUMA(A1:A10) a =11/2.

Když ve vzorci použijete funkci, musí každá levá okrouhlá závorka mít odpovídající pravou okrouhlou závorku, aby funkce správně fungovala. Zkontrolujte proto, jestli máte všechny závorky v páru. Například vzorec =KDYŽ(B5<0);"Není platné";B5*1,05) nebude fungovat, protože obsahuje dvě pravé závorky, ale jenom jednu levou závorku. Správný vzorec by vypadal takto: =KDYŽ(B5<0;"Není platné";B5*1,05).

Excelové funkce mají argumenty (hodnoty, které musíte zadat, aby vzorec fungoval). Jenom pár funkcí (třeba funkce PI nebo DNES) nemá argumenty žádné. Zkontrolujte syntaxi vzorce, která se zobrazí, když začnete zadávat funkci, abyste měli jistotu, že daná funkce obsahuje povinné argumenty.

Například argumentem funkce VELKÁ může být jenom jeden textový řetězec nebo odkaz na buňku: =VELKÁ("ahoj") nebo =VELKÁ(C2).

Poznámka: Při psaní vzorce se na plovoucím panelu nástrojů s informacemi o funkci zobrazí argumenty funkce.

Snímek obrazovky s panelem nástrojů s informacemi o funkci
Panel nástrojů s informacemi o funkci

Některé funkce, jako třeba SUMA, navíc potřebují výhradně číselné argumenty, zatímco jiné funkce, jako například NAHRADIT, vyžadují minimálně pro jeden ze svých argumentů textovou hodnotu. Pokud jako argument použijete nesprávný datový typ, můžou funkce vrátit neočekávané výsledky nebo zobrazit chybu #HODNOTA!.

Pokud potřebujete rychle vyhledat syntaxi určité funkce, podívejte se na seznam excelových funkcí (podle kategorie).

Nezadávejte ve vzorcích čísla formátovaná znaky dolaru ($) nebo oddělovači tisíců (,), protože znaky dolaru označují absolutní odkazy a čárky se můžou používat jako oddělovače argumentů. Místo zadání $1,000 zadejte ve vzorci 1000.

Pokud budete v argumentech používat formátovaná čísla, dostanete neočekávané výsledky výpočtů, ale může se vám taky zobrazit chyba #ČÍSLO!. Pokud třeba zadáte vzorec =ABS(-2,134), abyste zjistili absolutní hodnotu čísla -2134 (a čárka není nastavená jako oddělovač desetinných míst, ale jako oddělovač argumentů), Excel zobrazí chybu #ČÍSLO!, protože funkce ABS umí pracovat jenom s jedním argumentem.

Poznámka: Výsledek vzorce můžete naformátovat oddělovači tisíců a symboly měny až potom, když zadáte vzorec pomocí neformátovaných čísel (konstant). Obecně nedoporučujeme dávat konstanty do vzorců, protože se těžko hledají, když je budete později potřebovat změnit, a je snadné se při jejich zadávání splést. Mnohem lepší je umístit konstanty do samostatných buněk, aby jejich hodnoty byly vidět a snadno se na ně odkazovalo.

Pokud se ve výpočtech nedá použít datový typ buňky, může vzorec vrátit neočekávané výsledky. Když třeba do buňky, která je formátovaná jako text, zadáte jednoduchý vzorec =2+3, Excel zadaná data nevypočítá. Všechno, co se vám v buňce zobrazí, bude =2+3. Problém opravíte tak, že následujícím postupem změníte datový typ buňky z Text na Obecný:

  1. Vyberte buňku.

  2. Klikněte na Domů, klikněte na šipku u pole Formát čísla (nebo stiskněte Ctrl + Shift + 1) a klikněte na Obecně.

  3. Stisknutím klávesy F2 přepněte buňku do režimu úprav a vzorec potvrďte stisknutím klávesy Enter.

Datum zadané do buňky, která používá datový typ Číslo, se může místo kalendářního data zobrazit jako číselná hodnota kalendářního data. Pokud chcete, aby se číslo zobrazovalo jako datum, vyberte v galerii Formát čísla formát Datum.

Jako operátor násobení se ve vzorcích celkem běžně používá znak x. To ale nejde, protože Excel používá hvězdičku (*). Pokud ve vzorci použijete konstanty, Excel zobrazí chybovou zprávu a vzorec může opravit tak, že znak x nahradí hvězdičkou (*).

Okno se žádostí, abyste u násobení nahradili znak x znakem *
Chybová zpráva při použití konstant s operátorem násobení x místo *

Pokud ale použijete odkazy na buňky, Excel vrátí chybu #NÁZEV?.

Chyba #NÁZEV? při použití znaku x místo znaku * pro násobení u odkazů na buňky
Chyba #NÁZEV? při použití odkazů na buňky s operátorem násobení x místo *

Pokud vytváříte vzorec, který obsahuje text, uzavřete text do uvozovek.

Například vzorec ="Dnes je " & TEXT(DNES();"dddd, dd. mmmm") kombinuje text „Dnes je“ s výsledkem funkce TEXT a DNES a vrací výsledek, jako je třeba Dnes je pondělí, 30. květen.

Ve vzorci je v zadání "Dnes je " mezera před koncovými uvozovkami, aby se ve výsledku zobrazila mezera mezi textem „Dnes je“ a „pondělí, 30. květen“. Bez uvozovek kolem textu může vzorec vrátit chybu #NÁZEV?.

V jednom vzorci můžete zadat (vnořit) až 64 úrovní funkcí.

Třeba vzorec =KDYŽ(ODMOCNINA(PI())<2;"Méně než dvě!";"Více než dvě!") má tři úrovně funkcí: Funkce PI je vnořená uvnitř funkce ODMOCNINA, která je dále vnořená uvnitř funkce KDYŽ.

Pokud zadáte odkaz na hodnoty nebo buňky v jiném listu a název daného listu obsahuje neabecední znak (třeba mezeru), uzavřete název do jednoduchých uvozovek (').

Pokud třeba chcete, aby se vám vrátila hodnota buňky D3 z listu s názvem Čtvrtletní data ve vašem sešitu, zadejte ='Čtvrtletní data'!D3. Bez uvozovek okolo názvu listu vzorec zobrazí chybu #NÁZEV?.

Na hodnoty nebo buňky v jiném listu můžete taky vytvořit odkaz ve vzorci tak, že na ně kliknete. Excel automaticky přidá uvozovky okolo názvů listů.

Když zadáte odkaz na hodnoty nebo buňky v jiném sešitě, uveďte název sešitu v hranatých závorkách ([]) a za ním název listu, ve kterém se požadované hodnoty nebo buňky nachází.

Pokud chcete třeba odkazovat na buňky A1 až A8 na listu Prodej v sešitu Operace Q2, který je otevřený v Excelu, zadejte =[Operace Q2.xlsx]Prodej!A1:A8. Bez hranatých závorek vzorec zobrazí chybu #REF!.

Pokud nemáte v Excelu sešit otevřený, zadejte úplnou cestu k souboru.

Zadejte například =ŘÁDKY('C:\My Documents\[Operace Q2.xlsx]Prodej'!A1:A8).

Poznámka:  Pokud celá cesta obsahuje mezery, uzavřete cestu do jednoduchých uvozovek (na začátku cesty a za název listu před vykřičníkem).

Tip: Cestu k jinému sešitu získáte nejsnadněji tak, že druhý sešit otevřete, potom v původním sešitu zadáte =, stisknutím kláves Alt+Tab se přepnete do druhého sešitu a vyberete v listu požadovanou buňku. Potom zdrojový sešit zavřete. Váš vzorec se automaticky aktualizuje a bude obsahovat úplnou cestu k souboru a název listu – se správnou syntaxí. Cestu pak můžete případně zkopírovat a vložit ji, kam potřebujete.

Výsledkem dělení buňky jinou buňkou, která obsahuje nulu (0) nebo neobsahuje žádnou hodnotu, je chyba #DĚLENÍ_NULOU!.

Této chybě se dá vyhnout tak, přímo na adrese buňky otestujete existenci jmenovatele.

=KDYŽ(B1;A1/B1;0)

Znamená to: KDYŽ(B1 existuje, vyděl hodnotu v buňce A1 hodnotou v buňce B1, jinak vrať 0).

Než cokoli odstraníte, vždycky zkontrolujte, že nepoužíváte žádné vzorce, které odkazují na data v buňkách, rozsahy, definované názvy, listy nebo sešity. Potom můžete nahradit tyto vzorce jejich výsledky, než odeberete data, na která se odkazuje.

Když nemůžete vzorce nahradit jejich výsledky, pročtěte si tyto informace o chybách a o tom, jak je možné je vyřešit:

  • Pokud vzorec odkazuje na buňky, které byly odstraněné nebo nahrazené jinými daty, a vrátí chybu #REF!, vyberte buňku s chybou #REF!. V řádku vzorců vyberte text #REF! a smažte ho. Potom znovu zadejte do vzorce oblast.

  • Pokud definovaný název chybí a vzorec, který na něj odkazuje, vrátí chybu #NÁZEV?, definujte nový název, který odkazuje na požadovanou oblast, nebo změňte vzorec tak, aby odkazoval přímo na oblast buněk (například A2:D8).

  • Pokud chybí list a vzorec, který na něj odkazuje, vrátí chybu #REF!, neexistuje bohužel žádný způsob, jak tuto chybu opravit. Odstraněný list se nedá obnovit.

  • Pokud chybí sešit, vzorec, který na něj odkazuje, zůstane nedotčený, dokud vzorec nezměníte.

    Pokud třeba máte vzorec =[Sešit1.xlsx]List1'!A1 a Sešit1.xlsx už nemáte, hodnoty, na které se odkazuje v daném sešitu, zůstanou dostupné. Když ale upravíte a uložíte vzorec, který odkazuje na daný sešit, Excel zobrazí dialogové okno Aktualizovat hodnoty a vyzve vás, abyste zadali název souboru. Klikněte na Zrušit a potom zkontroluje, že se neztratila data, když jste nahradili vzorce odkazující na chybějící sešit výsledky vzorců.

Někdy při kopírování obsahu buňky chcete vložit jenom hodnotu a ne příslušný vzorec, který se zobrazuje na řádku vzorců.

Zkopírujete třeba výslednou hodnotu vzorce do buňky na jiném listu. Nebo po zkopírování výsledné hodnoty do jiné buňky na listu odstraníte hodnoty, které jste použili ve vzorci. Obě uvedené akce způsobí, že se v cílové buňce zobrazí chyba neplatného odkazu na buňku (#ODKAZ!), protože na buňky obsahující hodnoty, které jste použili ve vzorci, už dál nejde odkazovat.

Této chybě se dá vyhnout tak, že vložíte výsledné hodnoty vzorců do cílových buněk bez vzorce.

  1. V listu vyberte buňky obsahující výsledné hodnoty vzorce, které chcete kopírovat.

  2. Na kartě Domů klikněte ve skupině Schránka na Kopírovat Obrázek tlačítka .

    Vzhled pásu karet aplikace Excel

    Klávesová zkratka: Stiskněte CTRL+C.

  3. Vyberte levou horní buňku Oblast pro vložení.

    Tip: Chcete-li výběr přesunout nebo zkopírovat do jiného listu nebo sešitu, klikněte na ouško jiného listu nebo přejděte do jiného sešitu a potom vyberte levou horní buňku oblasti pro vložení.

  4. Na kartě Domů klikněte ve skupině Schránka na Vložit Obrázek tlačítka a potom klikněte na Vložit hodnoty, anebo stiskněte klávesy Alt > Ů > V > H > Enter (ve Windows) nebo Option > Command > V > V > Enter (na počítači Mac).

Pokud chcete porozumět tomu, jak složitý nebo vnořený vzorec počítá konečný výsledek, můžete tento vzorec vyhodnotit.

  1. Vyberte vzorec, který chcete vyhodnotit.

  2. Klikněte na Vzorce > Vyhodnocení vzorce.

    Skupina Závislosti vzorců na kartě Vzorec

  3. Kliknutím na Vyhodnotit prozkoumejte hodnotu podtrženého odkazu. Výsledek vyhodnocení se zobrazí kurzívou.

    Dialogové okno Vyhodnocení vzorce

  4. Pokud podtržená část vzorce tvoří odkaz na jiný vzorec, kliknutím na Krok dovnitř zobrazte další vzorec v okně Vyhodnocení. Kliknutím na Krok ven se vraťte k předchozí buňce a vzorci.

    Tlačítko Krok dovnitř není dostupné při druhém zobrazení odkazu ve vzorci ani když vzorec odkazuje na buňku v jiném sešitu.

  5. Pokračujte, dokud nevyhodnotíte všechny části vzorce.

    Nástroj Vyhodnocení vzorce vám nemusí vždycky říct, proč je vzorec nefunkční, může vám ale pomoct zjistit, kde by mohl být problém. Může být velice užitečný ve větších vzorcích, kde by v opačném případě mohlo být obtížné ho najít.

    Poznámky: 

    • Některé části funkcí KDYŽ a ZVOLIT se nevyhodnotí a v okně Vyhodnocení se může zobrazit chyba #N/A.

    • Prázdné odkazy se v okně Vyhodnocení zobrazují jako nulové hodnoty (0).

    • Funkce, které se přepočítávají při každé změně listu. Tyto funkce, mezi něž patří NÁHČÍSLO, POČET.BLOKŮ, INDEX, POSUN, BUŇKA, NEPŘÍMÝ.ODKAZ, ŘÁDKY, SLOUPCE, NYNÍ, DNES a RANDBETWEEN, můžou způsobit, že se v dialogovém okně Vyhodnocení vzorce budou zobrazovat výsledky, které se liší od skutečných výsledků v buňce na listu.

Potřebujete další pomoc?

Kdykoli se můžete zeptat některého odborníka v technické komunitě Excelu, získat podporu v komunitě pro odpovědi, případně navrhnout novou funkci nebo vylepšení ve fóru Excel User Voice.

Viz taky

Přehled vzorců v Excelu

Zjišťování chyb ve vzorcích

Funkce aplikace Excel (podle abecedy)

Funkce aplikace Excel (podle kategorie)

Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×