Obsah
VLOOKUP je jednou z nejběžnějších a nejužitečnějších funkcí. Jelikož je hojně používaná, mnoho lidí si stěžuje na nefunkčnost. VLOOKUP správné nebo nesprávné výsledky. VLOOKUP má určitá omezení, přesto většina chyb, které dostaneme, je způsobena nepochopením syntaxe nebo jejím neopatrným použitím. V tomto článku vysvětlím, proč VLOOKUP nefunguje.
Aby bylo vysvětlení srozumitelné, použiji datový soubor, který představuje informace o produktech konkrétního obchodu s ovocem. V datovém souboru je 5 sloupců; jsou to tyto sloupce Ovoce , ID objednávky, množství (kg), cena, a Datum objednávky .
Stáhnout do praxe
Neváhejte a stáhněte si pracovní sešit z níže uvedeného odkazu.
VLOOKUP nefunguje v Excel.xlsx8 důvodů nefunkčnosti funkce VLOOKUP
1. VLOOKUP nefunguje a zobrazuje chybu N/A
V této části vám ukážu, proč se #N/A chyba dochází při práci s funkce VLOOKUP . Stejně jako já vám navrhnu nejlepší řešení, aby se zabránilo #N/A chyba.
1.1. Přední a zadní mezery
V rozsáhlém datovém souboru je možnost výskytu mezer navíc běžná. Také je těžké chybu identifikovat, protože se vám chyba nezobrazí, pokud datový soubor pečlivě neprojedete.
Zde jsem použil VLOOKUP vzorec správně.
Nejprve vyberte buňku, do které chcete umístit výslednou hodnotu.
➤ Vybral jsem buňku I4
Poté zadejte následující vzorec do pole Bar Formula .
=VLOOKUP(H4,B4:F12,2)
Zde, v VLOOKUP jsem vybral buňku H4 jako lookup_value a vybral rozsah B4:F12 jako table_array . Protože chci znát ID objednávky takže vzhledem k tomu, že 2 jako col_index_num .
Stiskněte tlačítko ENTER klíč. Teď jste měli získat ID objednávky o look_up ale zobrazí se #N/A .
Po prohlédnutí souboru dat zjistíte, že. lookup_value Apple má několik předních míst, proto VLOOKUP nefunguje.
Řešení :
Chcete-li odstranit přebytečné počáteční nebo koncové mezery, použijte příkaz lookup_value argument s funkce TRIM v rámci VLOOKUP funkce.
Ukážu vám, jak můžete použít TRIM funkce v rámci VLOOKUP funkce.
Abyste se vyhnuli VLOOKUP zadejte do vybrané buňky následující vzorec.
=VLOOKUP(TRIM(H4),B4:F12,2)
Zde se TRIM funkce odstraní všechny existující počáteční a koncové mezery vybrané buňky. H4 .
1.2. Pro chybu v překlepu VLOOKUP nefunguje
Chyba při psaní lookup_value je dalším důvodem, proč nefunguje VLOOKUP .
Zde vidíte, že jsem vzorec správně vložil do vybrané buňky.
=VLOOKUP(H4,B4:F12,2)
Stiskněte tlačítko ENTER ale místo toho, aby se zobrazil ID objednávky , zobrazí se vám #N/A chyba.
Nyní se podívejte na lookup_value uvidíte, že pravopis Apple je nesprávný, a to je důvod, proč VLOOKUP nefunguje.
Řešení :
Vždy pečlivě zadejte lookup_value . Musíte zachovat přesný pravopis hodnoty z datové tabulky.
Když jsem napsal lookup_value jak je uvedeno v tabulce, takže VLOOKUP funguje.
1.3. Číselná hodnota formátovaná jako text
V případě, že jsou číselné hodnoty formátovány jako text ve formátu table_array pak se zobrazí #N/A chyba při použití VLOOKUP funkce.
Pokusím se získat Cena pomocí ID objednávky jako lookup_value .
Nejprve vyberte buňku, do které chcete umístit výslednou hodnotu.
➤ Vybral jsem buňku I4
Poté zadejte následující vzorec do pole Bar Formula .
=VLOOKUP(H4,C4:F12,3)
Stiskněte tlačítko ENTER Takto získáte #N/A místo chyby Cena .
Pokud si projdete ID objednávky pak se zobrazí číslo 1001 je formátován jako text. To je důvod, proč nefunguje VLOOKUP .
Řešení :
Abyste se vyhnuli takovýmto chybám, vždy zkontrolujte formát číselných hodnot. Zde jsem opravil číselný formát jako číslo, takže VLOOKUP funguje.
Přečtěte si více: VLOOKUP Částečný text z jedné buňky v aplikaci Excel
1.4. Hodnota vyhledávání není nejlevější sloupec
Na stránkách VLOOKUP funkce udržuje posloupnost, která je lookup_value musí být nejlevější sloupec , pokud ne, pak nebude fungovat.
Pokusím se získat Cena pomocí ID objednávky jako lookup_value .
Použil jsem tedy následující vzorec.
=VLOOKUP(H4,B4:F12,3)
Ale zde ID objednávky není nejlevějším sloupcem table_array B4:F12 proto se zobrazuje #N/A chyba.
Řešení :
Zde se můžete chybě vyhnout dvěma způsoby.
⏩ Jednou z nich je, že můžete změnit table_array kde je lookup_value bude sloupec úplně vlevo.
⏩ Zadruhé, můžete umístit lookup_value sloupec na nejlevější pozici tabulky datové sady.
Přečtěte si více: VLOOKUP se dvěma vyhledávacími hodnotami v aplikaci Excel (2 přístupy)
1.5. Nadměrná velikost tabulky nebo vložení nového řádku & sloupce s hodnotou
Někdy se stane, že do datové sady vložíme nová data, ale zapomeneme změnit table_array pak VLOOKUP nemůže správně fungovat.
Pokusím se získat ID objednávky pomocí Ovoce jako lookup_value .
Použil jsem tedy následující vzorec.
=VLOOKUP(H4,B4:F12,2,FALSE)
Zde jsem použil přesná shoda typ, aby se zabránilo zavádějícím informacím a také vložené informace pro Lichi přesto se objevila chyba, protože jsem neaktualizoval table_array .
Řešení :
Nezapomeňte, že při každém vložení nových dat do tabulky datové sady aktualizujte pole pole tabulek také.
⏩ Zde jsem aktualizoval table_array ve vzorci.
=VLOOKUP(H4,B4:F14,2,FALSE)
⏩ Dalším způsobem je převedení datové sady do tabulky.
Nejprve vyberte rozsah buněk.
Pak otevřete Vložte >> vybrat Tabulka
A dialogové okno se objeví.
Poté klikněte na tlačítko OK .
Vzhledem k tomu, že váš datový soubor je nyní přeměněn na tabulku, můžete použít pouze název tabulky.
Přečtěte si více: Proč VLOOKUP vrací #N/A, když existuje shoda? (5 příčin a řešení)
2. VLOOKUP nefunguje a zobrazuje chybu VALUE
V této části se dozvíte, proč se Chyba #VALUE dochází při práci s VLOOKUP Také vám navrhnu všemožné řešení, jak se vyhnout tomu. #VALUE chyba.
2.1 Pro indexové číslo sloupce menší než 1
Pokud omylem použijete col_index_num méně než 1 , pak získáte #VALUE chyba.
V případě, že dostanete tuto #VALUE laskavě si zkontrolujte col_index_num argument.
Přečtěte si více: VLOOKUP s čísly v aplikaci Excel (4 příklady)
2.2. Použití více než 255 znaků
Předpokládejme, že máte jako hodnotu dlouhý text, který je větší než 255 pak budete mít #VALUE chyba.
Zde, v A7 buňky jsem vložil hodnotu přesahující 255 postavy.
Pak použijte následující vzorec
=VLOOKUP(G4,A4:E12,2)
Nyní vidíte, že výsledek ukazuje. #VALUE chyba.
Řešení :
Abyste se této chybě vyhnuli, můžete buď znak zmenšit, nebo použít funkci INDEX a funkce MATCH místo VLOOKUP .
Zde jsem použil MATCH a INDEX funkce.
=INDEX($B$4:$B$12,MATCH(TRUE,INDEX($A$4:$A$12=G4,0),0))
Zde, v INDEX funkce vybrala absolutní odkaz na rozsah buněk $B$4:$B$12 odkud chci vrátit hodnotu.
V MATCH funkce, daná TRUE jako lookup_value a použil další INDEX($A$4:$A$12=G4,0) funkci jako lookup_array pak použil převzaté 0 jako match_type používat Přesná shoda .
Stiskněte tlačítko ENTER a získáte výsledek pro lookup_value více než 255 postavy.
Přečtěte si více: Funkce INDEX MATCH vs. VLOOKUP (9 příkladů)
Podobná čtení
- Excel LOOKUP vs. VLOOKUP: se 3 příklady
- Jak v aplikaci Excel nastavit VLOOKUP tak, aby rozlišoval velikost písmen (4 metody)
- Excel VLOOKUP pro vyhledání poslední hodnoty ve sloupci (s alternativami)
- Jak provést VLOOKUP se zástupným znakem v aplikaci Excel (2 metody)
- VLOOKUP aplikace Excel pro vertikální vrácení více hodnot
3. VLOOKUP nefunguje a zobrazuje chybu REF
Zde se dozvíte, proč #REF chyba dochází při práci s VLOOKUP a také získáte řešení, jak se vyhnout #REF chyba.
3.1. Použití čísla indexu sloupce většího než tabulka
V případě, že používáte col_index_num větší než počet sloupců, které máte v databázi. table_array pak získáte #REF chyba.
Zde jsem použil 6 jako col_index_number ale table_array má adresu 5 sloupců celkem, a proto se VLOOKUP funkce nefunguje a zobrazuje se #REF chyba.
Řešení :
Abyste se vyhnuli #REF kontroluje chybu col_index_num a použijte číslo, které je v table_array .
Přečtěte si více: VLOOKUP pro vrácení více sloupců v aplikaci Excel (4 příklady)
4. Chyba VLOOKUP NAME
Dovolte mi, abych vám ukázal, proč #NAME error a jak ji můžete odstranit.
4.1. Pro chybně napsaný název funkce VLOOKUP nefunguje
Na stránkách #NAME chyba se objevuje kvůli chybně napsanému názvu funkce.
Řešení :
Abyste se vyhnuli #NAME chyby vždy použijte příslušný název funkce z vestavěných funkcí Excelu.
5. Použití přibližné shody
Pokud používáte přibližná shoda (TRUE) pak zůstává možnost, že buď #N/A chyba nebo nesprávné výsledek.
Pokusím se získat ID objednávky pomocí Ovoce jako lookup_value .
Použil jsem tedy následující vzorec.
=VLOOKUP(H4,B4:F12,2,TRUE)
Ale tady jsem dal Lichi jako lookup_value a použil TRUE jako range_lookup . VLOOKUP zobrazuje 1007 jako ID objednávky což je nesprávné, protože 1007 je ID objednávky z Cherry .
Jelikož jsem použil přibližnou shodu, tak místo zobrazení chyby se zobrazí špatná informace.
Řešení :
Použijte lookup_value opatrně. Místo toho, abyste použili přibližná shoda můžete použít typ přesná shoda typ. Myslím, že je mnohem lepší, když se objeví chyba, než mít zavádějící informace.
Vzorec můžete uzavřít pomocí funkce IFERROR zobrazit chybové hlášení, když nemůže najít hodnotu v daném rozsahu.
6. Odkaz na tabulku je relativní
Pokud vaše pole tabulek je odkazováno relativně, pak může dojít k chybovému hlášení nebo k chybě při kopírování vzorce do souboru. vyhledávání další hodnoty.
Řešení :
Chcete-li se této chybě vyhnout, použijte absolutní odkaz.
Stiskněte tlačítko F4 při výběru odkazu se převede na klávesu relativní reference na absolutní reference .
Zde jsem použil následující vzorec
=VLOOKUP(I4,C4:$F$12,2)
7. VLOOKUP nefunguje Pro vložení nového sloupce
Pokud vložíte nový sloupec do stávajícího souboru dat, pak se VLOOKUP nefunguje. col_index-num se používá k vrácení informací o záznamu v databázi VLOOKUP funkce. col_index-num není trvanlivý, takže pokud vložíte nový, pak se VLOOKUP nebude fungovat.
Zde si můžete prohlédnout VLOOKUP funguje správně.
Ale zde jsem vložil jeden nový sloupec, proto se zobrazuje 0 místo toho, aby se zobrazil očekávaný výsledek.
Řešení :
⏩ Abyste se vyhnuli takovým problémům, můžete buď pracovní list chránit, aby nikdo nemohl vkládat nové sloupce, ale to není dostatečně šetrné.
⏩ Dalším řešením je použití funkce MATCH funkce v rámci VLOOKUP funkce.
Zadejte tedy následující vzorec.
=VLOOKUP(I4,B4:G12,MATCH(J3,B3:G3,0),FALSE)
Zde, v funkce VLOOKUP , vybral jsem buňku I4 jako lookup_value pak vybral rozsah B4:G12 jako table_array a jako col_index_num použil MATCH funkce, která se také používá FALSE jako range_lookup získat Přesná shoda .
V MATCH jsem použil název sloupce J3 jako lookup_value , dále vybral rozsah názvů sloupců B3:G3 jako lookup_array pak se vezme 0 jako match_type používat Přesná shoda .
Stiskněte tlačítko ENTER Tak získáte očekávaný výsledek.
8. Hodnota vyhledávání má duplicitní hodnoty
V případě, že vaše lookup_value obsahuje duplicitní hodnoty, pak VLOOKUP nebude fungovat pro všechny dostupné hodnoty.
VLOOKUP vrátí pouze první hodnotu, která odpovídá hledané hodnotě.
Řešení :
Abyste se vyhnuli těmto problémům, můžete buď odstranit duplikáty, nebo použít příkaz otočná tabulka .
⏩ Duplikáty můžete odstranit pomocí příkazu Odstranění duplicit z pásky Ribbon.
⏩ Můžete také použít funkci Otočná tabulka .
Použití,
Nejprve vyberte rozsah buněk
Pak otevřete Vložte karta>> vybrat Otočná tabulka
A dialogové okno se zobrazí okno, vyberte místo a klikněte na OK .
Nyní můžete vybrat Ovoce a ID objednávky na adrese Řádky pak se zobrazí stávající ID objednávky vašeho vybraného Ovoce .
Přečtěte si více: Jak najít duplicitní hodnoty v aplikaci Excel pomocí funkce VLOOKUP
Praktická část
V pracovním sešitě jsem přiložila cvičný list k procvičení těchto vysvětlených způsobů.
Závěr
V tomto článku jsem se snažil pokrýt všechny typy scénářů. VLOOKUP nefunguje spolu s řešením, aby se zabránilo chybám. Tyto různé způsoby vám pomohou pracovat s VLOOKUP fungovat efektivněji a snadněji. V neposlední řadě, pokud máte jakékoliv návrhy, nápady nebo zpětnou vazbu, neváhejte se vyjádřit níže.