Funkce LOOKUP aplikace Excel s příklady vzorců

  • Sdílet Toto
Michael Brown

Výukový program vysvětluje vektorovou a maticovou formu funkce LOOKUP aplikace Excel a na příkladech vzorců demonstruje typické i netriviální použití funkce LOOKUP v aplikaci Excel.

Jednou z nejčastějších otázek, kterou si občas položí každý uživatel aplikace Excel, je tato: " Jak vyhledám hodnotu na jednom listu a přenesu odpovídající hodnotu na jiný list? ". Samozřejmě může existovat mnoho variant základního scénáře: můžete hledat nejbližší shodu místo přesné shody, můžete chtít hledat vertikálně ve sloupci nebo horizontálně v řádku, vyhodnocovat jedno nebo více kritérií atd. Podstata je však stejná - musíte vědět, jak v Excelu vyhledávat.

Microsoft Excel nabízí několik různých způsobů, jak provádět vyhledávání. Pro začátek se naučíme funkci, která je určena pro nejjednodušší případy vertikálního a horizontálního vyhledávání. Jak jistě snadno uhodnete, mluvím o funkci LOOKUP.

    Funkce LOOKUP aplikace Excel - syntaxe a použití

    Na nejzákladnější úrovni funkce LOOKUP v aplikaci Excel vyhledá hodnotu v jednom sloupci nebo řádku a vrátí odpovídající hodnotu ze stejné pozice v jiném sloupci nebo řádku.

    V aplikaci Excel existují dvě formy funkce LOOKUP: Vektor a Pole Každý formulář je vysvětlen níže samostatně.

    Funkce LOOKUP aplikace Excel - vektorový tvar

    V této souvislosti je vektor se vztahuje na rozsah jednoho sloupce nebo jednoho řádku. Proto se vektorová forma LOOKUP používá k vyhledání zadané hodnoty v jednom řádku nebo jednom sloupci dat a k vytažení hodnoty ze stejné pozice v jiném řádku nebo sloupci.

    Syntaxe vektoru Lookup je následující:

    LOOKUP(lookup_value, lookup_vector, [result_vector])

    Kde:

    • Lookup_value (povinné) - hledaná hodnota. Může to být číslo, text, logická hodnota TRUE nebo FALSE nebo odkaz na buňku obsahující hledanou hodnotu.
    • Lookup_vector (povinné) - rozsah jednoho řádku nebo jednoho sloupce, který se má prohledávat. Musí být seřazen v řadě. vzestupné pořadí .
    • Result_vector (nepovinné) - rozsah jednoho řádku nebo jednoho sloupce, ze kterého chcete vrátit výsledek - hodnotu na stejné pozici jako hodnota vyhledávání. Result_vector musí být stejná velikost jako lookup_range . Pokud je vynecháno, výsledek je vrácen z položky lookup_vector .

    Následující příklady ukazují dva jednoduché vzorce pro vyhledávání v akci.

    Vertikální vyhledávací vzorec - vyhledávání v rozsahu jednoho sloupce

    Řekněme, že máte seznam prodejců ve sloupci D (D2:D5) a produkty, které prodali, ve sloupci E (E2:E5). Vytváříte řídicí panel, kde uživatelé zadají jméno prodejce do B2 a potřebujete vzorec, který by vytáhl odpovídající produkt v B3. Úkol lze snadno splnit pomocí tohoto vzorce:

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

    Pro lepší pochopení argumentů se podívejte na tento snímek obrazovky:

    Vzorec pro horizontální vyhledávání - vyhledávání v rozsahu jednoho řádku

    Pokud mají vaše zdrojová data horizontální uspořádání, tj. položky jsou spíše v řádcích než ve sloupcích, zadejte v poli lookup_vector a result_vector argumenty, jako je tento:

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

    V druhé části tohoto návodu najdete několik dalších příkladů aplikace Excel Lookup, které řeší složitější úlohy. Do té doby si prosím zapamatujte následující jednoduchá fakta, která vám pomohou obejít možná úskalí a předejít častým chybám.

    5 věcí, které byste měli vědět o vektorové formě Excelu LOOKUP

    1. Hodnoty v lookup_vector by měly být seřazeny v vzestupné pořadí , tj. od nejmenšího po největší nebo od A po Z, jinak může vzorec pro vyhledávání v Excelu vrátit chybu nebo nesprávný výsledek. Pokud potřebujete provést vyhledávání na netříděná data , pak použijte buď INDEX MATCH, nebo OFFSET MATCH.
    2. Lookup_vector a result_vector musí být jednořádkové nebo jednosloupcový rozsah stejné velikosti.
    3. Funkce LOOKUP v aplikaci Excel je rozlišování velkých a malých písmen , nerozlišuje velká a malá písmena.
    4. Excel LOOKUP funguje na základě přibližná shoda . Přesněji řečeno, vyhledávací vzorec nejprve hledá přesnou shodu. Pokud nemůže najít přesnou hodnotu vyhledávání, vyhledá hodnotu nejbližší nejmenší hodnota , tj. největší hodnota v lookup_vector která je menší nebo rovna lookup_value .

      Pokud je například vyhledávací hodnota "5", vzorec ji bude hledat jako první. Pokud nebude nalezena hodnota "5", bude hledat hodnotu "4". Pokud nebude nalezena hodnota "4", bude hledat hodnotu "3" atd.

    5. Pokud lookup_value je menší než je nejmenší hodnota v lookup_vector , Excel LOOKUP vrátí chybu #N/A.

    Funkce LOOKUP aplikace Excel - forma pole

    Polní forma funkce LOOKUP vyhledá zadanou hodnotu v prvním sloupci nebo řádku pole a získá hodnotu ze stejné pozice v posledním sloupci nebo řádku pole.

    Pole Lookup má 2 argumenty, přičemž oba jsou povinné:

    LOOKUP(lookup_value, pole)

    Kde:

    • Lookup_value - hodnotu, kterou chcete hledat v poli.
    • Pole - rozsah buněk, ve kterých chcete hledat hodnotu vyhledávání. Hodnoty v prvním sloupci nebo řádku pole (podle toho, zda používáte V-vyhledávání nebo H-vyhledávání) musí být seřazeny vzestupně. Velká a malá písmena jsou považována za rovnocenná.

    Pokud se například názvy prodejců nacházejí v prvním sloupci pole (sloupec A) a data objednávek v posledním sloupci pole (sloupec C), můžete použít následující vzorec pro vyhledání názvu a vytáhnutí odpovídajícího data:

    =LOOKUP(B2,D2:F5)

    Poznámka: Polní formu funkce LOOKUP v Excelu nelze zaměňovat s polními vzorci Excelu. Přestože funkce LOOKUP pracuje s poli, jedná se stále o běžný vzorec, který se dokončuje obvyklým způsobem stisknutím klávesy Enter.

    4 věci, které byste měli vědět o formě pole Excel LOOKUP

    1. Pokud pole má adresu více řádků než sloupců nebo stejný počet sloupců a řádků, vyhledávací vzorec hledá v prvním sloupci (horizontální vyhledávání).
    2. Pokud pole má adresu více sloupců než řádků , Excel LOOKUP vyhledává v prvním řádku (vertikální vyhledávání).
    3. Pokud vzorec nenajde hodnotu vyhledávání, použije se vzorec největší hodnota v poli, které je menší nebo rovno lookup_value .
    4. Pokud vyhledávací hodnota je menší než je nejmenší hodnota v prvním sloupci nebo řádku pole (v závislosti na rozměrech pole), vzorec Lookup vrátí chybu #N/A.

    Důležité upozornění! Funkce formuláře pole LOOKUP aplikace Excel jsou omezené a nedoporučujeme je používat. Místo toho můžete použít funkci VLOOKUP nebo HLOOKUP, což jsou vylepšené verze pro vertikální, resp. horizontální vyhledávání.

    Jak používat funkci LOOKUP v aplikaci Excel - příklady vzorců

    Přestože v Excelu existují výkonnější funkce pro vyhledávání a porovnávání (což je předmětem našeho dalšího kurzu), LOOKUP se hodí v mnoha situacích a následující příklady ukazují několik netriviálních použití. Upozorňujeme, že všechny níže uvedené vzorce používají vektorovou formu excelovského LOOKUP.

    Vyhledání hodnoty v poslední neprázdné buňce sloupce

    Pokud máte sloupec s dynamicky vyplňovanými daty, můžete chtít vybrat poslední přidaný záznam, tj. získat poslední neprázdnou buňku ve sloupci. K tomu použijte tento obecný vzorec:

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

    Ve výše uvedeném vzorci jsou všechny argumenty kromě odkazu na sloupec konstanty. Chcete-li tedy získat poslední hodnotu v určitém sloupci, stačí zadat odkaz na příslušný sloupec. Chcete-li například získat hodnotu poslední neprázdné buňky ve sloupci A, použijte tento vzorec:

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

    Chcete-li získat poslední hodnotu z jiných sloupců, upravte odkazy na sloupce tak, jak je znázorněno na obrázku níže - první odkaz je sloupec, který se má kontrolovat na prázdné/neprázdné buňky, a druhý odkaz je sloupec, ze kterého se má vrátit hodnota:

    Jak tento vzorec funguje

    V lookup_value zadáte 2 nebo jakékoli jiné číslo větší než 1 (za chvíli pochopíte proč).

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

    • Nejprve provedete logickou operaci A:A"", která porovná každou buňku ve sloupci A s prázdným řetězcem a vrátí TRUE pro prázdné buňky a FALSE pro neprázdné buňky. Ve výše uvedeném příkladu vrátí vzorec v F2 toto pole: {TRUE;TRUE;TRUE;TRUE;TRUE;FALSE...}.
    • Poté vydělíte číslo 1 každým prvkem výše uvedeného pole. Když je TRUE rovno 1 a FALSE rovno 0, získáte nové pole složené z jedniček a chyb #DIV/0! (výsledek dělení nulou) a toto pole použijete jako. lookup_vector V tomto příkladu je to {1;1;1;1;#DIV/0!...}.

    Jak je možné, že vzorec vrací poslední neprázdnou hodnotu ve sloupci, když je dáno, že lookup_value neodpovídá žádnému prvku lookup_vector ? Klíčem k pochopení logiky je to, že Excel LOOKUP hledá s přibližnou shodou, tj. když nenajde přesnou hodnotu vyhledávání, porovná další největší hodnotu v seznamu lookup_vector která je menší než lookup_value V našem případě, lookup_value je 2 a největší hodnota v lookup_vector je 1, takže LOOKUP odpovídá poslední 1 v poli, což je poslední neprázdná buňka!

    V result_vector se odkazujete na sloupec, ze kterého chcete vrátit hodnotu, a vzorec Lookup získá hodnotu na stejné pozici jako hodnota lookupu.

    Tip. Pokud chcete získat číslo řádku držet poslední hodnotu a pak ji pomocí funkce ROW načíst. Například: =LOOKUP(2,1/(A:A""),ROW(A:A))

    Vyhledání hodnoty v poslední neprázdné buňce v řádku

    Pokud jsou vaše zdrojová data uspořádána v řádcích, nikoli ve sloupcích, můžete pomocí tohoto vzorce získat hodnotu poslední neprázdné buňky:

    LOOKUP(2, 1/( řádek ""), řádek )

    Tento vzorec není vlastně ničím jiným než mírnou modifikací předchozího vzorce s tím rozdílem, že místo odkazu na sloupec použijete odkaz na řádek.

    Chcete-li například získat hodnotu poslední neprázdné buňky v řádku 1, použijte tento vzorec:

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

    Následující snímek obrazovky ukazuje výsledek:

    Získání hodnoty spojené s poslední položkou v řádku

    S trochou kreativity lze výše uvedený vzorec snadno upravit pro řešení dalších podobných úloh. Lze jej například použít k získání hodnoty spojené s posledním výskytem určité hodnoty v řádku. Může to znít trochu nejasně, ale následující příklad vám usnadní pochopení.

    Předpokládejme, že máte souhrnnou tabulku, kde sloupec A obsahuje jména prodejců a následující sloupce obsahují údaje určitého druhu pro každý měsíc. V tomto příkladu buňka obsahuje "ano", pokud daný prodejce uzavřel v daném měsíci alespoň jeden obchod. Naším cílem je získat měsíc spojený s posledním záznamem "ano" v řádku.

    Úlohu lze vyřešit pomocí následujícího vzorce LOOKUP:

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

    Logika vzorce je v podstatě stejná jako v prvním příkladu. Rozdíl je v tom, že místo operátoru "nerovná se" ("=") používáte operátor "nerovná se" ("") a pracujete s řádky místo se sloupci.

    Následující snímek obrazovky ukazuje výsledek:

    Vyhledávání jako alternativa ke vnořeným IF

    Ve všech vyhledávacích vzorcích, které jsme dosud probrali, se v položce lookup_vector a result_vector argumenty byly reprezentovány odkazy na rozsah. Syntaxe funkce LOOKUP aplikace Excel však umožňuje zadávat vektory ve formě konstanty vertikálního pole, což umožňuje replikovat funkčnost vnořeného IF pomocí kompaktnějšího a přehlednějšího vzorce.

    Řekněme, že máte ve sloupci A seznam zkratek a chcete je nahradit plnými názvy, kde "C" znamená "Completed", "D" je "Development" a "T" je "Testing". Tento úkol lze provést pomocí následující vnořené funkce IF:

    =IF(A2="c", "Dokončeno", IF(A2="d", "Vývoj", IF(A2="t", "Testování", "")))

    Nebo pomocí tohoto vyhledávacího vzorce:

    =LOOKUP(A2, {"c"; "d"; "t"}, {"Dokončeno"; "Vývoj"; "Testování"})

    Jak ukazuje obrázek níže, oba vzorce poskytují stejné výsledky:

    Poznámka: Pro správnou funkci vyhledávacího vzorce aplikace Excel je nutné, aby hodnoty v položce lookup_array by měly být seřazeny od A do Z nebo od nejmenšího po největší.

    Pokud vybíráte hodnoty z vyhledávací tabulky, můžete do ní vložit funkci Vlookup. lookup_value argument pro vyhledání shody.

    Za předpokladu, že hodnota vyhledávání je v buňce E2, tabulka vyhledávání je A2:C7 a sloupec, který nás zajímá ("Stav"), je 3. sloupec v tabulce vyhledávání, následující vzorec splní svou úlohu:

    =LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c"; "d"; "t"}, {"Dokončeno"; "Vývoj"; "Testování"})

    Jak ukazuje obrázek níže, vzorec načte stav projektu z vyhledávací tabulky a nahradí zkratku odpovídajícím slovem:

    Tip: Pokud používáte aplikaci Excel 2016 v rámci předplatného služby Office 365, můžete pro podobné účely použít funkci SWITCH.

    Doufám, že vám tyto příklady osvětlily, jak funkce LOOKUP funguje. Pro lepší pochopení vzorců si můžete stáhnout tyto příklady funkce Lookup v aplikaci Excel. V příštím tutoriálu probereme několik dalších způsobů vyhledávání v aplikaci Excel a vysvětlíme, který vzorec funkce Lookup je nejlepší použít v té které situaci. Děkuji vám za přečtení a doufám, že se příští týden uvidíme na našem blogu!

    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.