IF VLOOKUP v aplikaci Excel: Vzorec Vlookup s podmínkou If

  • Sdílet Toto
Michael Brown

Výukový program ukazuje, jak kombinovat V LOOKUP a funkce IF společně k v-vyhledávání s podmínkou if v Excelu. Naučíte se také používat vzorce IF ISNA VLOOKUP k nahrazení chyb #N/A vlastním textem, nulou nebo prázdnou buňkou.

Zatímco funkce VLOOKUP a IF jsou užitečné samy o sobě, společně přinášejí ještě cennější zkušenosti. Tento výukový kurz předpokládá, že si syntaxi obou funkcí dobře pamatujete, v opačném případě si můžete své znalosti oprášit pomocí výše uvedených odkazů.

    Vlookup s příkazem If: vrácení True/False, Yes/No atd.

    Jedním z nejčastějších scénářů, kdy kombinujete If a Vlookup dohromady, je porovnání hodnoty vrácené Vlookupem se vzorovou hodnotou a její vrácení. Ano / Ne nebo Pravda / Nepravda jako výsledek.

    Ve většině případů by mohl fungovat následující obecný vzorec:

    IF(VLOOKUP(...) = hodnota , TRUE, FALSE)

    Přeloženo do češtiny, vzorec dává aplikaci Excel pokyn, aby vrátila Pravda pokud je hodnota Vlookup pravdivá (tj. rovná se zadané hodnotě). Pokud je hodnota Vlookup nepravdivá (nerovná se zadané hodnotě), vzorec vrátí hodnotu False .

    Níže naleznete několik reálných použití tohoto vzorce IF Vlookup.

    Příklad 1. Vyhledání konkrétní hodnoty

    Řekněme, že máte seznam položek ve sloupci A a množství ve sloupci B. Vytváříte řídicí panel pro uživatele a potřebujete vzorec, který by zkontroloval množství položky v E1 a informoval uživatele, zda je položka skladem nebo vyprodaná.

    Množství získáte pomocí běžného Vlookup s přesným vzorcem takto:

    =VLOOKUP(E1,$A$2:$B$10,2,FALSE)

    Pak napište příkaz IF, který porovná výsledek Vlookup s nulou a vrátí "Ne", pokud se rovná 0, a "Ano" v opačném případě:

    =IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0, "Ne", "Ano")

    Místo toho, aby Ano/Ne , můžete vrátit PRAVDA/NEPRAVDA nebo Skladem/vyprodáno nebo jakékoli jiné dvě možnosti. Například:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)=0, "Vyprodáno", "Skladem")

    Hodnotu vrácenou nástrojem Vlookup můžete také porovnat se vzorkem text . V tomto případě nezapomeňte uzavřít textový řetězec do uvozovek, například takto:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)="ukázkový text",TRUE,FALSE)

    Příklad 2. Porovnání výsledku Vlookup s jinou buňkou

    Dalším typickým příkladem použití Vlookup s podmínkou If v aplikaci Excel je porovnání výstupu Vlookup s hodnotou v jiné buňce. Můžeme například zkontrolovat, zda je větší nebo rovna číslu v buňce G2:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2, "Ano!", "Ne")

    A zde je náš vzorec If s Vlookup v akci:

    Podobným způsobem můžete ve vzorci Excel If Vlookup použít jakýkoli jiný logický operátor spolu s odkazem na buňku.

    Příklad 3. Hodnoty Vlookup v kratším seznamu

    Porovnání každé buňky v cílovém sloupci s jiným seznamem a vrácení seznamu Pravda nebo Ano pokud je nalezena shoda, False nebo Ne jinak použijte tento obecný vzorec IF ISNA VLOOKUP:

    IF(ISNA( VLOOKUP(...)), "Ne", "Ano")

    Pokud Vlookup vede k chybě #N/A, vzorec vrátí "Ne", což znamená, že hledaná hodnota není v seznamu hledaných hodnot nalezena. Pokud je nalezena shoda, je vráceno "Ano". Například:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Ne", "Ano")

    Pokud vaše obchodní logika vyžaduje opačné výsledky, jednoduše prohoďte "Ano" a "Ne", abyste obrátili logiku vzorce:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Ano", "Ne")

    Excel Pokud vzorec Vlookup pro provádění různých výpočtů

    Kromě zobrazení vlastních textových zpráv může funkce If s Vlookup provádět různé výpočty na základě zadaných kritérií.

    Vezmeme-li náš příklad dále, vypočítáme provizi konkrétního prodejce (F1) v závislosti na jeho efektivitě: 20 % provize pro ty, kteří vydělali 200 USD a více, 10 % pro všechny ostatní.

    Zkontrolujte, zda je hodnota vrácená funkcí Vlookup větší nebo rovna 200, a pokud ano, vynásobte ji 20 %, jinak 10 %:

    =IF(VLOOKUP(F1,$A$2:$C$10,3,FALSE )>=200, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*20%, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*10%)

    Kde A2:A10 jsou názvy prodejců a C2:C10 jsou prodeje.

    IF ISNA VLOOKUP pro skrytí chyb #N/A

    Pokud funkce VLOOKUP nemůže najít zadanou hodnotu, vyhodí chybu #N/A. Chcete-li tuto chybu zachytit a nahradit ji vlastním textem, vložte vzorec VLOOKUP do logického testu funkce IF, například takto:

    IF(ISNA(VLOOKUP(...)), "Nenalezeno", VLOOKUP(...))

    Místo textu "Nenalezeno" můžete samozřejmě zadat libovolný text.

    Předpokládejme, že máte v jednom sloupci seznam jmen prodejců a v druhém sloupci částky prodeje. Vaším úkolem je vytáhnout číslo odpovídající jménu, které uživatel zadá do pole F1. Pokud jméno nenajdete, zobrazte zprávu, která to oznámí.

    Se jmény v A2:A10 a částkami C2:C10 lze úlohu splnit pomocí následujícího vzorce If Vlookup:

    =IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Nenalezeno", VLOOKUP(F1,$A$2:$C$10,3,FALSE))

    Pokud je název nalezen, je vrácena odpovídající částka prodeje:

    Pokud není hodnota vyhledávání nalezena, je zobrazen příkaz Nenalezeno místo chyby #N/A se zobrazí zpráva:

    Jak tento vzorec funguje

    Logika vzorce je velmi jednoduchá: pomocí funkce ISNA kontrolujete Vlookup na výskyt chyb #N/A. Pokud dojde k chybě, vrátí ISNA hodnotu TRUE, v opačném případě FALSE. Výše uvedené hodnoty přejdou do logického testu funkce IF, která provede jednu z následujících akcí:

    • Pokud je logický test TRUE (chyba #N/A), zobrazí se vaše zpráva.
    • Pokud je logický test FALSE (hodnota vyhledávání je nalezena), Vlookup normálně vrátí shodu.

    IFNA VLOOKUP v novějších verzích aplikace Excel

    Od aplikace Excel 2013 můžete k zachycení a zpracování chyb #N/A použít funkci IFNA místo IF ISNA:

    IFNA(VLOOKUP(...), " Nenalezeno ")

    V našem příkladu by vzorec měl následující podobu:

    =IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Nenalezeno")

    Tip: Pokud chcete zachytit všechny druhy chyb, nejen #N/A, použijte funkci VLOOKUP v kombinaci s funkcí IFERROR. Více informací najdete zde: IFERROR VLOOKUP v Excelu.

    Excel Vlookup: pokud není nalezen, vrátí 0

    Při práci s číselnými hodnotami můžete chtít vrátit nulu, pokud nebyla nalezena hledaná hodnota. Chcete-li to provést, použijte výše popsaný vzorec IF ISNA VLOOKUP s malou úpravou: namísto textové zprávy zadejte 0 do pole value_if_true argumentu funkce IF:

    IF(ISNA(VLOOKUP(...)), 0, VLOOKUP(...))

    V naší ukázkové tabulce by vzorec vypadal takto:

    =IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))

    V posledních verzích aplikace Excel 2016 a 2013 můžete opět použít kombinaci IFNA Vlookup:

    =IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)

    Excel Vlookup: pokud není nalezen, vrátí prázdnou buňku

    Jedná se o další variantu příkazu "Vlookup if then": nevracejte nic, pokud není nalezena hodnota vyhledávání. Toho dosáhnete tak, že svému vzorci zadáte, aby místo chyby #N/A vracel prázdný řetězec (""):

    IF(ISNA(VLOOKUP(...)), "", VLOOKUP(...))

    Níže uvádíme několik kompletních příkladů vzorců:

    Pro všechny verze aplikace Excel:

    =IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))

    Pro aplikace Excel 2016 a Excel 2013:

    =IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")

    If s indexovou shodou - levý vlookup s podmínkou If

    Zkušení uživatelé Excelu vědí, že funkce VLOOKUP není jediným způsobem, jak v Excelu provádět vertikální vyhledávání. K tomuto účelu lze použít také kombinaci INDEX MATCH, která je ještě výkonnější a univerzálnější. Dobrou zprávou je, že funkce Index Match může pracovat společně s funkcí IF úplně stejně jako funkce Vlookup.

    Například máte čísla objednávek ve sloupci A a jména prodejců ve sloupci B. Hledáte vzorec, který by vytáhl číslo objednávky pro konkrétního prodejce.

    Vlookup nelze v tomto případě použít, protože nemůže vyhledávat zprava doleva. Index Match bude fungovat bez problémů, pokud se hodnota vyhledávání nachází ve sloupci vyhledávání. Pokud ne, zobrazí se chyba #N/A. Chcete-li nahradit standardní chybový zápis vlastním textem, vnořte Index Match do IF ISNA:

    =IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Nenalezeno", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)))

    V aplikacích Excel 2016 a 2016 můžete použít IFNA místo IF ISNA, aby byl vzorec kompaktnější:

    =IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Nenalezeno")

    Podobným způsobem můžete indexovou shodu použít i v jiných vzorcích If.

    Takto lze v Excelu společně používat příkazy Vlookup a IF. Chcete-li se blíže seznámit se vzorci probíranými v tomto tutoriálu, můžete si stáhnout náš ukázkový sešit níže. Děkuji vám za přečtení a doufám, že se příští týden uvidíme na našem blogu!

    Cvičebnice ke stažení

    Excel IF Vlookup - příklady vzorců (.xlsx soubor)

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.