Funkcia LOOKUP programu Excel s príkladmi vzorcov

  • Zdieľajte To
Michael Brown

Učebnica vysvetľuje vektorovú a tabuľkovú formu funkcie LOOKUP programu Excel a na príkladoch vzorcov demonštruje typické a netriviálne použitia funkcie LOOKUP v programe Excel.

Jednou z najčastejších otázok, ktorú si raz za čas položí každý používateľ programu Excel, je táto: " Ako vyhľadám hodnotu na jednom hárku a vytiahnem zodpovedajúcu hodnotu na iný hárok? " Samozrejme, môže existovať mnoho variácií základného scenára: môžete hľadať najbližšiu zhodu namiesto presnej zhody, môžete chcieť vyhľadávať vertikálne v stĺpci alebo horizontálne v riadku, vyhodnocovať jedno alebo viacero kritérií atď. Podstata je však rovnaká - musíte vedieť, ako vyhľadávať v programe Excel.

Microsoft Excel poskytuje niekoľko rôznych spôsobov, ako vykonávať vyhľadávanie. Na začiatok sa naučíme funkciu, ktorá je určená na najjednoduchšie prípady vertikálneho a horizontálneho vyhľadávania. Ako ľahko uhádnete, hovorím o funkcii LOOKUP.

    Funkcia Excel LOOKUP - syntax a použitie

    Na najzákladnejšej úrovni funkcia LOOKUP v programe Excel vyhľadá hodnotu v jednom stĺpci alebo riadku a vráti zodpovedajúcu hodnotu z rovnakej pozície v inom stĺpci alebo riadku.

    V programe Excel existujú dve formy funkcie LOOKUP: Vektor a Pole Každý formulár je vysvetlený samostatne nižšie.

    Funkcia Excel LOOKUP - vektorový tvar

    V tomto kontexte je vektor sa vzťahuje na rozsah jedného stĺpca alebo jedného riadku. Následne použijete vektorovú formu LOOKUP na vyhľadanie jedného riadku alebo jedného stĺpca údajov pre zadanú hodnotu a vytiahnutie hodnoty z rovnakej pozície v inom riadku alebo stĺpci.

    Syntax vektora Lookup je nasledujúca:

    LOOKUP(lookup_value, lookup_vector, [result_vector])

    Kde:

    • Lookup_value (povinné) - hodnota, ktorá sa má vyhľadať. Môže to byť číslo, text, logická hodnota TRUE alebo FALSE alebo odkaz na bunku obsahujúcu vyhľadávanú hodnotu.
    • Lookup_vector (povinné) - rozsah jedného riadku alebo jedného stĺpca, ktorý sa má prehľadávať. Musí byť zoradený v vzostupné poradie .
    • Result_vector (nepovinné) - rozsah jedného riadku alebo jedného stĺpca, z ktorého chcete vrátiť výsledok - hodnotu na rovnakej pozícii ako hodnota vyhľadávania. Result_vector musí byť rovnaká veľkosť ako lookup_range Ak sa vynechá, výsledok sa vráti z lookup_vector .

    Nasledujúce príklady demonštrujú dva jednoduché vyhľadávacie vzorce v praxi.

    Vzorec vertikálneho vyhľadávania - vyhľadávanie v rozsahu jedného stĺpca

    Povedzme, že máte zoznam predajcov v stĺpci D (D2:D5) a produkty, ktoré predali, v stĺpci E (E2:E5). Vytvárate ovládací panel, kde používatelia zadajú meno predajcu do B2 a potrebujete vzorec, ktorý by vytiahol zodpovedajúci produkt v B3. Úlohu možno ľahko splniť pomocou tohto vzorca:

    =LOOKUP(B2,D2:D5,E2:E5)

    Ak chcete lepšie pochopiť argumenty, pozrite si tento obrázok:

    Vzorec horizontálneho vyhľadávania - vyhľadávanie v rozsahu jedného riadku

    Ak majú vaše zdrojové údaje horizontálne rozloženie, t. j. položky sa nachádzajú v riadkoch, a nie v stĺpcoch, potom zadajte rozsah jedného riadku v lookup_vector a result_vector argumenty, ako je tento:

    =LOOKUP(B2,E1:H1,E2:H2)

    V druhej časti tohto návodu nájdete niekoľko ďalších príkladov Excel Lookup, ktoré riešia zložitejšie úlohy. Zatiaľ si zapamätajte nasledujúce jednoduché fakty, ktoré vám pomôžu obísť možné nástrahy a predísť častým chybám.

    5 vecí, ktoré by ste mali vedieť o vektorovej forme Excel LOOKUP

    1. Hodnoty v lookup_vector by mali byť zoradené v vzostupné poradie , t. j. od najmenšieho po najväčší alebo od A po Z, inak môže váš vzorec Excel Lookup vrátiť chybu alebo nesprávny výsledok. Ak potrebujete vykonať vyhľadávanie na netriedené údaje , potom použite buď INDEX MATCH alebo OFFSET MATCH.
    2. Lookup_vector a result_vector musí byť jednoriadkové alebo jeden stĺpec rozsah rovnakej veľkosti.
    3. Funkcia LOOKUP v programe Excel je rozlišovanie veľkých a malých písmen , nerozlišuje veľké a malé písmená v texte.
    4. Excel LOOKUP funguje na základe približná zhoda . Presnejšie povedané, vyhľadávací vzorec najprv hľadá presnú zhodu. Ak nemôže nájsť presnú hodnotu vyhľadávania, vyhľadá ďalšia najmenšia hodnota , t. j. najväčšia hodnota v lookup_vector ktorá je menšia alebo rovná lookup_value .

      Ak je napríklad vaša vyhľadávacia hodnota "5", vzorec ju bude hľadať ako prvú. Ak sa nenájde "5", bude sa hľadať "4". Ak sa nenájde "4", bude sa hľadať "3" atď.

    5. Ak lookup_value je . menšie ako je najmenšia hodnota v lookup_vector , Excel LOOKUP vráti chybu #N/A.

    Funkcia Excel LOOKUP - forma poľa

    Forma funkcie LOOKUP v poli vyhľadá zadanú hodnotu v prvom stĺpci alebo riadku poľa a získa hodnotu z rovnakej pozície v poslednom stĺpci alebo riadku poľa.

    Pole Lookup má 2 argumenty, pričom oba sú povinné:

    LOOKUP(lookup_value, pole)

    Kde:

    • Lookup_value - hodnota, ktorú chcete vyhľadať v poli.
    • Pole - rozsah buniek, v ktorých chcete hľadať hodnotu vyhľadávania. Hodnoty v prvom stĺpci alebo riadku poľa (v závislosti od toho, či používate V-vyhľadávanie alebo H-vyhľadávanie) musia byť zoradené vzostupne. Veľké a malé písmená sa považujú za rovnocenné.

    Napríklad, ak sa názvy predajcov nachádzajú v prvom stĺpci poľa (stĺpec A) a dátumy objednávok v poslednom stĺpci poľa (stĺpec C), môžete použiť nasledujúci vzorec na vyhľadávanie názvu a vytiahnutie zodpovedajúceho dátumu:

    =LOOKUP(B2,D2:F5)

    Poznámka: Formu poľa funkcie Excel LOOKUP si netreba zamieňať so vzorcami poľa programu Excel. Hoci funkcia LOOKUP pracuje s poliami, stále ide o bežný vzorec, ktorý sa dokončí bežným spôsobom stlačením klávesu Enter.

    4 veci, ktoré by ste mali vedieť o forme poľa Excel LOOKUP

    1. Ak pole viac riadkov ako stĺpcov alebo rovnaký počet stĺpcov a riadkov, vyhľadávací vzorec vyhľadáva v prvom stĺpci (horizontálne vyhľadávanie).
    2. Ak pole viac stĺpcov ako riadkov , Excel LOOKUP vyhľadáva v prvom riadku (vertikálne vyhľadávanie).
    3. Ak vzorec nemôže nájsť vyhľadávanú hodnotu, použije najväčšia hodnota v poli, ktoré je menšie alebo rovné lookup_value .
    4. Ak sa vyhľadávacia hodnota je menšia ako je najmenšia hodnota v prvom stĺpci alebo riadku poľa (v závislosti od rozmerov poľa), vzorec Lookup vráti chybu #N/A.

    Dôležité upozornenie! Funkcionalita formulára tabuľky LOOKUP programu Excel je obmedzená a neodporúčame ho používať. Namiesto toho môžete použiť funkciu VLOOKUP alebo HLOOKUP, čo sú vylepšené verzie na vertikálne, resp. horizontálne vyhľadávanie.

    Ako používať funkciu LOOKUP v programe Excel - príklady vzorcov

    Hoci v programe Excel existujú výkonnejšie funkcie na vyhľadávanie a porovnávanie (čo je predmetom nášho ďalšieho učebného materiálu), funkcia LOOKUP sa hodí v mnohých situáciách a nasledujúce príklady ukazujú niekoľko netriviálnych použití. Upozorňujeme, že všetky nižšie uvedené vzorce používajú vektorovú formu funkcie Excel LOOKUP.

    Vyhľadanie hodnoty v poslednej neprázdnej bunke v stĺpci

    Ak máte stĺpec s dynamicky vyplňovanými údajmi, možno budete chcieť vybrať posledný pridaný záznam, t. j. získať poslednú neprázdnu bunku v stĺpci. Na tento účel použite tento všeobecný vzorec:

    LOOKUP(2, 1/( stĺpec ""), stĺpec )

    Vo vyššie uvedenom vzorci sú všetky argumenty okrem odkazu na stĺpec konštanty. Ak chcete získať poslednú hodnotu v konkrétnom stĺpci, stačí zadať príslušný odkaz na stĺpec. Ak chcete napríklad získať hodnotu poslednej neprázdnej bunky v stĺpci A, použite tento vzorec:

    =LOOKUP(2, 1/(A:A""), A:A)

    Ak chcete získať poslednú hodnotu z iných stĺpcov, upravte odkazy na stĺpce tak, ako je to znázornené na obrázku nižšie - prvý odkaz je stĺpec, ktorý sa má kontrolovať na prázdne/neprázdne bunky, a druhý odkaz je stĺpec, z ktorého sa má vrátiť hodnota:

    Ako tento vzorec funguje

    V lookup_value argument, zadáte 2 alebo akékoľvek iné číslo väčšie ako 1 (za chvíľu pochopíte prečo).

    V lookup_vector argument, vložíte tento výraz: 1/(A:A"")

    • Najprv vykonáte logickú operáciu A:A"", ktorá porovnáva každú bunku v stĺpci A s prázdnym reťazcom a vracia TRUE pre prázdne bunky a FALSE pre neprázdne bunky. Vo vyššie uvedenom príklade vzorec v F2 vráti toto pole: {TRUE;TRUE;TRUE;TRUE;TRUE;FALSE...}
    • Potom vydelíte číslo 1 každým prvkom vyššie uvedeného poľa. Keďže TRUE sa rovná 1 a FALSE sa rovná 0, dostanete nové pole pozostávajúce z 1 a chýb #DIV/0! (výsledok delenia 0) a toto pole sa použije ako lookup_vector V tomto príklade je to {1;1;1;1;#DIV/0!...}

    Ako je možné, že vzorec vráti poslednú neprázdnu hodnotu v stĺpci, ak je dané, že lookup_value nezodpovedá žiadnemu prvku lookup_vector ? Kľúčom k pochopeniu logiky je, že Excel LOOKUP vyhľadáva s približnou zhodou, t. j. keď sa nenájde presná hodnota vyhľadávania, porovná sa s ďalšou najväčšou hodnotou v lookup_vector ktorá je menšia ako lookup_value V našom prípade, lookup_value je 2 a najväčšia hodnota v lookup_vector je 1, takže LOOKUP zodpovedá poslednej 1 v poli, čo je posledná neprázdna bunka!

    V result_vector sa odkazujete na stĺpec, z ktorého chcete vrátiť hodnotu, a váš vzorec Lookup načíta hodnotu na rovnakej pozícii ako hodnota vyhľadávania.

    Tip. Ak chcete získať číslo riadku a potom použite funkciu ROW na jej načítanie. Napríklad: =LOOKUP(2,1/(A:A""),ROW(A:A))

    Vyhľadanie hodnoty v poslednej neprázdnej bunke v riadku

    Ak sú vaše zdrojové údaje usporiadané v riadkoch a nie v stĺpcoch, môžete pomocou tohto vzorca získať hodnotu poslednej neprázdnej bunky:

    LOOKUP(2, 1/( riadok ""), riadok )

    Tento vzorec nie je v skutočnosti ničím iným ako miernou modifikáciou predchádzajúceho vzorca s jediným rozdielom, že namiesto odkazu na stĺpec použijete odkaz na riadok.

    Ak chcete napríklad získať hodnotu poslednej neprázdnej bunky v riadku 1, použite tento vzorec:

    =LOOKUP(2, 1/(1:1""), 1:1)

    Nasledujúci obrázok zobrazuje výsledok:

    Získanie hodnoty súvisiacej s posledným záznamom v riadku

    S trochou kreativity možno uvedený vzorec ľahko prispôsobiť na riešenie ďalších podobných úloh. Možno ho napríklad použiť na získanie hodnoty súvisiacej s posledným výskytom konkrétnej hodnoty v riadku. Možno to znie trochu nejasne, ale nasledujúci príklad vám uľahčí pochopenie.

    Predpokladajme, že máte súhrnnú tabuľku, kde stĺpec A obsahuje mená predajcov a ďalšie stĺpce obsahujú údaje určitého druhu pre každý mesiac. V tomto príklade bunka obsahuje "áno", ak daný predajca uzavrel v danom mesiaci aspoň jeden obchod. Naším cieľom je získať mesiac spojený s posledným záznamom "áno" v riadku.

    Úlohu možno vyriešiť pomocou nasledujúceho vzorca LOOKUP:

    =LOOKUP(2, 1/(B2:H2="áno"), $B$1:$H$1)

    Logika vzorca je v podstate rovnaká ako v prvom príklade. Rozdiel je v tom, že namiesto operátora "nerovná sa" ("=") používate operátor "nerovná sa" ("") a operujete s riadkami namiesto stĺpcov.

    Nasledujúci obrázok ukazuje výsledok:

    Vyhľadávanie ako alternatíva k vnoreným IF

    Vo všetkých vyhľadávacích vzorcoch, ktoré sme doteraz prebrali, sa lookup_vector a result_vector argumenty boli reprezentované odkazmi na rozsah. Syntax funkcie Excel LOOKUP však umožňuje dodávať vektory vo forme konštanty vertikálneho poľa, čo umožňuje replikovať funkčnosť vnoreného IF s kompaktnejším a prehľadnejším vzorcom.

    Povedzme, že v stĺpci A máte zoznam skratiek a chcete ich nahradiť plnými názvami, kde "C" znamená "Completed" (dokončené), "D" je "Development" (vývoj) a "T" je "Testing" (testovanie). Úlohu možno vykonať pomocou nasledujúcej vnorenej funkcie IF:

    =IF(A2="c", "Dokončené", IF(A2="d", "Vývoj", IF(A2="t", "Testovanie", ""))

    Alebo pomocou tohto vyhľadávacieho vzorca:

    =LOOKUP(A2, {"c"; "d"; "t"}, {"Dokončené"; "Vývoj"; "Testovanie"})

    Ako je znázornené na obrázku nižšie, oba vzorce poskytujú rovnaké výsledky:

    Poznámka: Aby vzorec Excel Lookup fungoval správne, musia byť hodnoty v lookup_array by mali byť zoradené od A po Z alebo od najmenšieho po najväčší.

    Ak vyberáte hodnoty z vyhľadávacej tabuľky, potom môžete funkciu Vlookup vložiť do lookup_value argument na získanie zhody.

    Za predpokladu, že hodnota vyhľadávania je v bunke E2, tabuľka vyhľadávania je A2:C7 a stĺpec záujmu ("Stav") je 3. stĺpec v tabuľke vyhľadávania, nasledujúci vzorec vykoná svoju prácu:

    =LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c"; "d"; "t"}, {"Dokončené"; "Vývoj"; "Testovanie"})

    Ako je znázornené na nasledujúcej snímke obrazovky, vzorec načíta stav projektu z vyhľadávacej tabuľky a nahradí skratku zodpovedajúcim slovom:

    Tip: Ak používate program Excel 2016 ako súčasť predplatného služby Office 365, môžete na podobné účely použiť funkciu SWITCH.

    Dúfam, že tieto príklady objasnili, ako funguje funkcia LOOKUP. Ak chcete lepšie pochopiť vzorce, môžete si stiahnuť tieto príklady funkcie Lookup v programe Excel. V ďalšom tutoriáli sa budeme venovať niekoľkým ďalším spôsobom vyhľadávania v programe Excel a vysvetlíme, ktorý vzorec Lookup je najlepšie použiť v tej ktorej situácii. Ďakujem vám za prečítanie a dúfam, že sa uvidíme na našom blogu budúci týždeň!

    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.