Jak opravit chybu #NENÍ_K_DISPOZICI u funkce SVYHLEDAT

Toto téma popisuje nejběžnější důvody funkce SVYHLEDAT pro chybný výsledek na funkci a nabízí návrhy na použití funkce index a POZVYHLEDAT .

Tip: Podívejte se také na kartu rychlá reference: funkce pro řešení potíží se shrnutím, která představuje běžné důvody #NA problémů ve vhodném souboru PDF. Soubor PDF můžete sdílet s ostatními nebo si ho můžete vytisknout.

Problém: Hledaná hodnota není v prvním sloupci v argumentu pole.

Jedním omezením funkce SVYHLEDAT je to, že může hledat hodnoty pouze v levém sloupci tabulky. Pokud Hledaná hodnota není v prvním sloupci matice, zobrazí se chyba #N/A.

V následující tabulce chceme načíst počet prodaných kusů kapusty.

Chyba #NENÍ_K_DISPOZICI u funkce SVYHLEDAT: Hledaná hodnota není v prvním sloupci matice tabulky

Příkaz #N/A vyhodnotí, protože vyhledávací hodnota "kapusta" se zobrazí ve druhém sloupci (výrobní) argumentu Table_array a2: C10. V tomto případě Excel hledá ve sloupci A, ne ve sloupci B.

Řešení: Tento problém můžete vyřešit tak, že upravíte nastavení funkce SVYHLEDAT tak, aby odkazovala na správný sloupec. Pokud to není možné, zkuste přesunout sloupce. To může být také velmi neproveditelné, pokud máte velké nebo složité tabulky, u kterých jsou hodnoty buněk výsledky jiných výpočtů – nebo možná existují další logické důvody, proč jednoduše nemůžete přesouvat sloupce. Řešením je použít kombinaci funkcí INDEX a POZVYHLEDAT, které mohou vyhledat hodnotu ve sloupci bez ohledu na jeho umístění ve vyhledávací tabulce. Podívejte se na další oddíl.

Zvažte použití funkce INDEX/MATCH

Funkce index a POZVYHLEDAT jsou dobré možnosti pro mnoho případů, kdy funkce SVYHLEDAT nevyhovuje vašim potřebám. Klíčovým přínosem pro funkci INDEX a POZVYHLEDAT je, že můžete ve vyhledávací tabulce vyhledat hodnotu ve sloupci. Funkce INDEX vrátí hodnotu ze zadané tabulky nebo oblasti podle jejího umístění. Funkce POZVYHLEDAT vrátí relativní pozici hodnoty v tabulce nebo oblasti. Pomocí funkce INDEX a POZVYHLEDAT ve vzorci vyhledáte hodnotu v tabulce nebo matici zadáním relativní pozice hodnoty v tabulce nebo matici.

Existuje několik výhod použití funkce INDEX/MATCH místo funkce SVYHLEDAT:

  • Pomocí funkcí INDEX a POZVYHLEDAT nemusí být vrácená hodnota ve stejném sloupci jako vyhledávací sloupec. To se liší od funkce SVYHLEDAT, ve které musí být vrácená hodnota v určené oblasti. Jak to funguje? Pomocí funkce SVYHLEDAT musíte znát číslo sloupce, který obsahuje vrácenou hodnotu. Ačkoli to nemusí být náročné, může být obtížné, pokud máte velkou tabulku a chcete spočítat počet sloupců. Taky když v tabulce přidáte nebo odeberete sloupec, musíte ho přepočítat a aktualizovat argument col_index_num . Pomocí funkcí INDEX a POZVYHLEDAT se nevyžaduje žádné počítání, protože vyhledávací sloupec se liší od sloupce, který vrací hodnotu.

  • Pomocí funkcí INDEX a POZVYHLEDAT můžete zadat buď řádek nebo sloupec v matici, nebo oba. To znamená, že hodnoty můžete hledat svisle i vodorovně.

  • Funkce INDEX a POZVYHLEDAT je možné použít k hledání hodnot v libovolném sloupci. Na rozdíl od funkce SVYHLEDAT – při tom, že se dá vyhledat jenom hodnota v prvním sloupci tabulky – funkce INDEX a POZVYHLEDAT bude fungovat, pokud je hledaná hodnota v prvním sloupci, posledním nebo kdekoli mezi.

  • INDEX a shoda: nabízí flexibilitu dynamického odkazu na sloupec, který obsahuje vrácenou hodnotu.To znamená, že můžete do tabulky přidávat sloupce, aniž by bylo nutné INDEXovat a odpovídat. Na druhé straně se funkce SVYHLEDAT přeruší, pokud potřebujete do tabulky přidat sloupec, protože se do tabulky převede statický odkaz.

  • Možnost INDEX a POZVYHLEDAT nabízí větší flexibilitu s odpovídajícími shodami.Možnost INDEX a POZVYHLEDAT najde přesnou shodu nebo hodnotu, která je větší nebo menší než Hledaná hodnota. Funkce SVYHLEDAT bude hledat pouze pro nejbližší hodnotu (ve výchozím nastavení) nebo přesnou hodnotu. Funkce SVYHLEDAT také předpokládá, že první sloupec v poli tabulky je řazen abecedně a Předpokládejme, že tabulka není tímto způsobem nastavena, funkce SVYHLEDAT vrátí první nejpodobnější tabulku, která nemusí být hledanými daty.

Syntaxe

Pokud chcete vytvořit syntaxi pro INDEX/SHODu, musíte použít argument matice/odkaz z funkce INDEX a vnořit syntaxi MATCH dovnitř. To má formu:

=INDEX(matice nebo odkaz; POZVYHLEDAT(co;prohledat;[shoda])

Pomocí funkce INDEX a POZVYHLEDAT nahraďte funkci SVYHLEDAT z výše uvedeného příkladu. Syntaxe bude vypadat takto:

=INDEX(C2:C10;POZVYHLEDAT(B13;B2:B10;0))

Slovní popis funkce:

= INDEX (vrátí hodnotu z C2: C10, která se bude shodovat (kapusta; nachází se někde v poli B2: B10, kde vrácená hodnota je první hodnota odpovídající kapusta))

Použití funkcí INDEX a POZVYHLEDAT k nahrazení funkce SVYHLEDAT

Vzorec hledá první hodnotu v matici C2:C10, která odpovídá zboží Kapusta (v buňce B7), a vrátí hodnotu v buňce C7 (100), což je první hodnota, která odpovídá zboží Kapusta.

Problém: Přesná shoda se nenašla

Pokud je argument range_lookup NEPRAVDA – a funkce SVYHLEDAT nenajde přesná odpovídající data, vrátí chybu #N/a.

Řešení: Pokud jste si jistí, že příslušná data v tabulce existují, a funkce SVYHLEDAT ji nezachytává, ověřte, že v odkazovaných buňkách nejsou skryté ani netisknutelné znaky. Ověřte také, že buňky sledují správný datový typ. Například buňky s čísly by měly být formátovány jako číslo a nikoli jakotext.

Kromě toho zvažte použití funkce vyčistit nebo pročistit k vyčištění dat v buňkách.

Problém: Hledaná hodnota je menší než nejmenší hodnota v matici

Pokud je argument range_lookup nastaven na hodnotu true a vyhledávací hodnota je menší než nejmenší hodnota v poli, zobrazí se chyba #N/a. Hodnota PRAVDA hledá v matici přibližnou shodu a vrátí nejblíže menší hodnotu, než jakou hledáte.

V následujícím příkladu je hledaná hodnota 100, ale v oblasti B2:C10 není žádná hodnota menší než 100, a proto se zobrazí chyba.

Chyba #NENÍ_K_DISPOZICI u funkce SVYHLEDAT, když je hledaná hodnota menší než nejmenší hodnota v matici

Řešení:

  • Opravte hledanou hodnotu tak, jak potřebujete.

  • Pokud vyhledávací hodnotu nemůžete změnit a potřebujete větší flexibilitu s odpovídajícími hodnotami, zvažte použití funkce INDEX/MATCH místo funkce SVYHLEDAT – viz část v tomto článku. Funkce INDEX/POZVYHLEDAT umí hledat hodnoty, které jsou větší, menší nebo rovny hledané hodnotě. Další informace o použití funkcí INDEX/POZVYHLEDAT místo funkce SVYHLEDAT najdete v předchozí části tohoto tématu.

Problém: Prohledávaný sloupec není seřazený vzestupně.

Pokud je argument range_lookup nastaven na hodnotu true a některý z vyhledávacích sloupců není seřazený ve vzestupné (A-Z) pořadí, zobrazí se #N/a chyba.

Řešení:

  • Změňte funkci SVYHLEDAT tak, aby hledala přesnou hodnotu. Uděláte to tak, že argument oblasti vyhledávání nastavíte na hodnotu NEPRAVDA. Pro NEPRAVDA není žádné řazení.

  • K vyhledání hodnoty v neseřazené tabulce použijte funkce INDEX/POZVYHLEDAT.

Problém: Hodnota je velké číslo s plovoucí desetinnou čárkou.

Pokud v buňkách máte časové hodnoty nebo velké desetinná čísla, vrátí Excel v důsledku přesnosti pohyblivé čárky chybu #N/A. Čísla s plovoucí desetinnou čárkou jsou čísla, která následují za desetinnou čárkou. (V Excelu se ukládají časové hodnoty jako čísla s plovoucí desetinnou čárkou.) V Excelu se nedají ukládat čísla s velmi velkými desítkovými body, takže aby funkce fungovala správně, bude nutné čísla s plovoucí desetinnou čárkou zaokrouhlit na 5 desetinných míst.

Řešení: Zkraťte čísla tím, že je zaokrouhlíte na pět desetinných míst funkcí ZAOKROUHLIT.

Máte konkrétní otázku k funkci?

Zadejte dotaz do komunitního fóra Excelu

Pomozte nám vylepšit Excel

Máte nějaké návrhy na zlepšení dalších verzí Excelu? Pokud ano, podívejte se prosím na témata v části Názor uživatele Excelu.

Viz také

Poznámka:  Tato stránka byla přeložena automaticky a může obsahovat gramatické chyby nebo nepřesnosti. Naším cílem je to, aby pro vás byl její obsah užitečný. Mohli byste nám prosím dát vědět, jestli vám informace pomohly? Pokud chcete, můžete se podívat na anglickou verzi článku.

Potřebujete další pomoc?

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! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×