Máte problém propojit tabulky pomocí funkce SVYHLEDAT? Musíte to komplikovaně obcházet pomocí kombinace funkcí INDEX a POZVYHLEDAT? V MS Excel (licenci MS Office 365) je nově dostupná funkce XLOOKUP, která tyto situace elegantně řeší.
Propojování tabulek se v prostředí MS Excel celá léta realizuje nejčastěji pomocí funkce SVYHLEDAT. Tato funkce má několik nedostatků:
- sloupec, ve kterém údaje vyhledáváme musí být ve vyhledávací tabulce na prvním místě
- při nedohledání hledané položky se zobrazí nevzhledné chybové hlášení #NENí_K_DISPOZICI
- není možné nastavit, zda jak se má funkce chovat při duplicitách ve vyhledávací tabulce
- není možné použití zástupných symbolů
Všechny tyto nedostatky jsou od léta 2020 vyřešeny nově vyvinutou funkcí XLOOKUP (stejný název v angličtině i češtině)
Na obrázku je ukázáno jednoduché využití funkce, kdy na základě příjmení (sloupec O) chceme dohledat a zobrazit jméno lektora (sloupec P).
Dialogové okno pro vložení funkce vypadá takto:
Hledáme křestní jméno lektora, jehož příjmení je Fejfar
- prvním argumentem Co je příjmení (O9)
- druhým argumentem Prohledat jsou hodnoty sloupce M, kde se příjmení ve vyhledávací tabulce nachází
- argumentem Vrátit jsou hodnoty sloupce L – křestní jména ve vyhledávací tabulce
- první nepovinný argument Pokud_nenalezeno umožňuje nastavit, co se má v buňce zobrazit na místo chybového hlášení #NENí_K_DISPOZICI
- Druhý nepovinný argument Režim shody udává jak vyhledávání probíhá
- 0 – přesná shoda (výchozí hodnota) – hodnoty se musí přesně shodovat – využití pro texty nebo číselné kódy
- 1 – nejbližší větší hodnota, pokud neexistuje přesná shoda
- -1 – nejbližší menší hodnota pokud neexistuje přesná shoda
- 2 – umožňuje využít zástupný znak * ?
- Funkce obsahuje ještě jeden nepovinný argument (v dialogovém okně schovaný dole) – Režim vyhledávání
- 1 – vyhledává od první k poslední položce (odshora dolů)
- -1 vyhledává od poslední k první položce (odspoda nahoru)
Povšimněte si na našem příkladu, že vyhledávané jméno se ve vyhledávací tabulce nachází vlevo od příjmení. Takto propojit tabulky by pomocí funkce SVYHLEDAT nebylo možné.