IF VLOOKUP v programe Excel: vzorec Vlookup s podmienkou If

  • Zdieľajte To
Michael Brown

Tento návod ukazuje, ako kombinovať V LOOKUP a funkcie IF spolu na v-hľadanie s podmienkou if v Exceli. Naučíte sa tiež používať vzorce IF ISNA VLOOKUP na nahradenie chýb #N/A vlastným textom, nulou alebo prázdnou bunkou.

Zatiaľ čo funkcie VLOOKUP a IF sú užitočné samy o sebe, spoločne prinášajú ešte cennejšie skúsenosti. Tento návod predpokladá, že si syntax týchto dvoch funkcií dobre pamätáte, v opačnom prípade si môžete svoje vedomosti doplniť pomocou vyššie uvedených odkazov.

    Vlookup s príkazom If: vrátenie True/False, Yes/No atď.

    Jedným z najčastejších scenárov, keď kombinujete If a Vlookup, je porovnanie hodnoty vrátenej funkciou Vlookup so vzorovou hodnotou a vrátenie Áno / Nie alebo Pravda / Nepravda ako výsledok.

    Vo väčšine prípadov bude dobre fungovať nasledujúci všeobecný vzorec:

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

    Preložené do jednoduchej angličtiny, vzorec dáva programu Excel pokyn, aby vrátil Pravda ak je Vlookup true (t. j. rovná sa zadanej hodnote). Ak je Vlookup false (nerovná sa zadanej hodnote), vzorec vráti False .

    Nižšie nájdete niekoľko skutočných použití tohto vzorca IF Vlookup.

    Príklad 1. Vyhľadanie konkrétnej hodnoty

    Povedzme, že máte zoznam položiek v stĺpci A a množstvo v stĺpci B. Vytvárate ovládací panel pre svojich používateľov a potrebujete vzorec, ktorý by skontroloval množstvo položky v E1 a informoval používateľa, či je položka na sklade alebo vypredaná.

    Množstvo získate pomocou bežného Vlookup s presnou zhodou vzorca takto:

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

    Potom napíšte príkaz IF, ktorý porovná výsledok Vlookup s nulou a vráti "Nie", ak sa rovná 0, inak "Áno":

    =IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0, "Nie", "Áno")

    Namiesto Áno/Nie , môžete vrátiť PRAVDA/NEPRAVDA alebo Na sklade/vypredané alebo akékoľvek iné dve možnosti. Napríklad:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)=0, "Vypredané", "Na sklade")

    Hodnotu vrátenú funkciou Vlookup môžete tiež porovnať so vzorkou text V tomto prípade nezabudnite textový reťazec uzavrieť do úvodzoviek, napríklad takto:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)="text vzorky",TRUE,FALSE)

    Príklad 2. Porovnanie výsledku Vlookup s inou bunkou

    Ďalším typickým príkladom Vlookup s podmienkou If v programe Excel je porovnanie výstupu Vlookup s hodnotou v inej bunke. Môžeme napríklad skontrolovať, či je väčšia alebo rovná číslu v bunke G2:

    =IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2, "Áno!", "Nie")

    A tu je náš vzorec If s funkciou Vlookup v akcii:

    Podobným spôsobom môžete vo vzorci Excel If Vlookup použiť akýkoľvek iný logický operátor spolu s odkazom na bunku.

    Príklad 3. Hodnoty Vlookup v kratšom zozname

    Porovnanie každej bunky v cieľovom stĺpci s iným zoznamom a vrátenie Pravda alebo Áno ak sa nájde zhoda, False alebo Nie inak použite tento všeobecný vzorec IF ISNA VLOOKUP:

    IF(ISNA( VLOOKUP(...)), "Nie", "Áno")

    Ak Vlookup vedie k chybe #N/A, vzorec vráti "Nie", čo znamená, že hodnota vyhľadávania sa nenašla v zozname vyhľadávania. Ak sa nájde zhoda, vráti sa "Áno". Napríklad:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Nie", "Áno")

    Ak si vaša obchodná logika vyžaduje opačné výsledky, stačí vymeniť "Áno" a "Nie", aby ste obrátili logiku vzorca:

    =IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Áno", "Nie")

    Excel Ak vzorec Vlookup na vykonávanie rôznych výpočtov

    Okrem zobrazenia vlastných textových správ môže funkcia If s funkciou Vlookup vykonávať rôzne výpočty na základe zadaných kritérií.

    Ak budeme pokračovať v našom príklade, vypočítajme províziu konkrétneho predajcu (F1) v závislosti od jeho efektivity: 20 % provízia pre tých, ktorí zarobili 200 USD a viac, 10 % pre všetkých ostatných.

    Na tento účel skontrolujete, či je hodnota vrátený pomocou Vlookup väčšia alebo rovná 200, a ak je, vynásobíte ju 20 %, v opačnom prípade 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 sú názvy predajcov a C2:C10 sú predaje.

    IF ISNA VLOOKUP na skrytie chýb #N/A

    Ak funkcia VLOOKUP nemôže nájsť zadanú hodnotu, vyhodí chybu #N/A. Ak chcete túto chybu zachytiť a nahradiť ju vlastným textom, vložte vzorec VLOOKUP do logického testu funkcie IF, napríklad takto:

    IF(ISNA(VLOOKUP(...)), "Nenájdené", VLOOKUP(...))

    Samozrejme, namiesto textu "Nenájdené" môžete zadať ľubovoľný text.

    Predpokladajme, že v jednom stĺpci máte zoznam mien predajcov a v druhom stĺpci sumy predaja. Vašou úlohou je vytiahnuť číslo zodpovedajúce menu, ktoré používateľ zadá do F1. Ak sa meno nenájde, zobrazte o tom správu.

    S názvami v A2:A10 a sumami C2:C10 možno úlohu splniť pomocou nasledujúceho vzorca If Vlookup:

    =IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Nenájdené", VLOOKUP(F1,$A$2:$C$10,3,FALSE))

    Ak sa názov nájde, vráti sa zodpovedajúca suma predaja:

    Ak sa hodnota vyhľadávania nenájde, Nenájdené namiesto chyby #N/A sa zobrazí správa #N/A:

    Ako tento vzorec funguje

    Logika vzorca je veľmi jednoduchá: pomocou funkcie ISNA skontrolujete Vlookup na výskyt chýb #N/A. Ak sa vyskytne chyba, ISNA vráti TRUE, v opačnom prípade FALSE. Uvedené hodnoty prejdú do logického testu funkcie IF, ktorá vykoná jednu z nasledujúcich činností:

    • Ak je logický test TRUE (chyba #N/A), zobrazí sa vaša správa.
    • Ak je logický test FALSE (hodnota vyhľadávania je nájdená), Vlookup normálne vráti zhodu.

    IFNA VLOOKUP v novších verziách programu Excel

    Od aplikácie Excel 2013 môžete na zachytenie a spracovanie chýb #N/A použiť funkciu IFNA namiesto IF ISNA:

    IFNA(VLOOKUP(...), " Nenájdené ")

    V našom príklade by vzorec mal nasledujúci tvar:

    =IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Nenájdené")

    Tip: Ak chcete zachytiť všetky druhy chýb, nielen #N/A, použite funkciu VLOOKUP v kombinácii s funkciou IFERROR. Viac informácií nájdete tu: IFERROR VLOOKUP v programe Excel.

    Excel Vlookup: ak nie je nájdený, vráti 0

    Pri práci s číselnými hodnotami môžete chcieť vrátiť nulu, keď sa hodnota vyhľadávania nenašla. Ak to chcete urobiť, použite vzorec IF ISNA VLOOKUP, o ktorom sme hovorili vyššie, s malou úpravou: namiesto textovej správy zadajte 0 do value_if_true argument funkcie IF:

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

    V našej vzorovej tabuľke by vzorec vyzeral takto:

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

    V najnovších verziách aplikácie Excel 2016 a 2013 môžete opäť použiť kombináciu IFNA Vlookup:

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

    Excel Vlookup: ak nie je nájdený, vráti prázdnu bunku

    Toto je ďalšia variácia príkazu "Vlookup if then": nevráťte nič, keď sa hodnota vyhľadávania nenájde. Ak to chcete urobiť, zadajte svojmu vzorcu pokyn, aby namiesto chyby #N/A vrátil prázdny reťazec (""):

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

    Nižšie uvádzame niekoľko úplných príkladov vzorcov:

    Pre všetky verzie programu Excel:

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

    Pre aplikácie Excel 2016 a Excel 2013:

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

    If s indexovou zhodou - ľavý vlookup s podmienkou If

    Skúsení používatelia programu Excel vedia, že funkcia VLOOKUP nie je jediným spôsobom, ako v programe Excel vykonávať vertikálne vyhľadávanie. Na tento účel možno použiť aj kombináciu INDEX MATCH, ktorá je ešte výkonnejšia a všestrannejšia. Dobrou správou je, že funkcia Index Match môže pracovať spolu s funkciou IF presne rovnakým spôsobom ako funkcia Vlookup.

    Napríklad v stĺpci A máte čísla objednávok a v stĺpci B názvy predajcov.

    Vlookup sa v tomto prípade nedá použiť, pretože nedokáže vyhľadávať sprava doľava. Index Match bude fungovať bez problémov, pokiaľ sa hodnota vyhľadávania nachádza v stĺpci vyhľadávania. Ak nie, zobrazí sa chyba #N/A. Ak chcete nahradiť štandardný zápis chyby vlastným textom, vnorte Index Match do IF ISNA:

    =IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Nenájdené", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0))

    V aplikácii Excel 2016 a 2016 môžete použiť IFNA namiesto IF ISNA, aby bol vzorec kompaktnejší:

    =IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Nenájdené")

    Podobným spôsobom môžete indexovú zhodu použiť aj v iných vzorcoch If.

    Takto sa v Exceli spoločne používajú príkazy Vlookup a IF. Ak sa chcete bližšie zoznámiť so vzorcami, o ktorých sa hovorí v tomto návode, môžete si stiahnuť náš vzorový zošit nižšie. Ďakujem vám za prečítanie a dúfam, že sa na našom blogu uvidíme budúci týždeň!

    Cvičebnica na stiahnutie

    Excel IF Vlookup - príklady vzorcov (.xlsx súbor)

    Michael Brown je nadšený technologický nadšenec s vášňou pre zjednodušovanie zložitých procesov pomocou softvérových nástrojov. S viac ako desaťročnými skúsenosťami v technologickom priemysle si zdokonalil svoje zručnosti v programoch Microsoft Excel a Outlook, ako aj Tabuľky Google a Dokumenty. Michaelov blog je venovaný zdieľaniu svojich vedomostí a odborných znalostí s ostatnými a poskytuje jednoduché tipy a návody na zlepšenie produktivity a efektivity. Či už ste skúsený profesionál alebo začiatočník, Michaelov blog ponúka cenné poznatky a praktické rady, ako z týchto základných softvérových nástrojov vyťažiť maximum.