XLOOKUP
Funkce XLOOKUP vyhledá v rozmezí zadanou hodnotu a vrátí hodnotu ze stejného řádku v jiném sloupci.
XLOOKUP(hledaná-hodnota; prohledávané-rozmezí; návratové-rozmezí; při-nenalezení; typ-shody; typ-hledání)
hledaná-hodnota: Hodnota, kterou chcete najít v prohledávaném-rozmezí. Argument hledaná-hodnota může obsahovat hodnotu libovolného typu nebo řetězec REGEX.
prohledávané-rozmezí: Buňky, které chcete prohledávat.
návratové-rozmezí: Buňky, jejichž hodnoty má funkce vracet.
při-nenalezení: Nepovinný argument obsahující zprávu, která se má zobrazit, pokud nebude nalezena shoda.
typ-shody: Nepovinný argument určující typ shody, kterou chcete hledat.
Přesná shoda nebo nejbližší menší hodnota (-1): Pokud funkce shodu nenajde, vrátí chybu.
Přesná shoda (0 nebo vynecháno): Pokud nenastane přesná shoda, vrátí se chyba.
Přesná shoda nebo nejbližší větší hodnota (1): Pokud funkce shodu nenajde, vrátí chybu.
Zástupné znaky (2): Znaky *, ? a ~ mají speciální význam. Výraz REGEX lze ve funkci XLOOKUP použít jen v režimu zástupných znaků.
typ-hledání: Nepovinný argument určující směr, kterým chcete rozmezí prohledávat.
Binární sestupné (-2): Binární hledání, které vyžaduje sestupně seřazené rozmezí, jinak vrátí chybu.
Od konce (-1): Prohledává rozmezí od konce směrem k začátku.
Od začátku (1 nebo vynecháno): Prohledává rozmezí od začátku směrem ke konci.
Binární vzestupné (2): Binární hledání, které vyžaduje vzestupně seřazené rozmezí, jinak vrátí chybu.
Poznámky
Pokud je hodnotou argumentu prohledávané-rozmezí nebo návratové-rozmezí odkaz na celý sloupec či řádek (např. „B“), budou automaticky ignorována záhlaví a zápatí.
Vrácení výsledků z pole zajistíte pomocí funkce INDEX v kombinaci s funkcí XLOOKUP.
Příklady |
---|
Máme následující tabulku: |
A | B | C | |
---|---|---|---|
1 | Jméno | Věk | Plat |
2 | Anna | 35 | 71000 |
3 | Matěj | 27 | 81000 |
4 | Katka | 42 | 86000 |
5 | Sofie | 51 | 66000 |
6 | Karel | 28 | 52000 |
7 | Tom | 49 | 62000 |
8 | Áron | 63 | 89000 |
9 | Marie | 22 | 34000 |
10 | Alice | 29 | 52000 |
11 | Bruno | 35 | 52500 |
Vzorec =XLOOKUP(49;B2:B11;C2:C11) vrátí hodnotu „62000“, je plat prvního 49letého zaměstnance. Vzorec =XLOOKUP(60000;C2:C11;B2:B11;"Nenalezeno") vrátí text „Nenalezeno“, protože plat 60 000 nemá žádný ze zaměstnanců. Vzorec =XLOOKUP(REGEX("^K.*"); A2:A11; B2:B11; NEPRAVDA; 2) vrátí hodnotu „42“, což je věk Katky – prvního zaměstnance v daném rozmezí, jehož jméno začíná na „K“. =INDEX(XLOOKUP(A2,A2:A11,B2:C11),2) vrátí hodnotu 71000, což je druhá hodnota z pole vráceného funkcí XLOOKUP. |