Příklad
Potřebuji zjistit, na jaké pozici je v seznamu čísel umístěna určitá hodnota.Řešení
Použiji funkci POZVYHLEDAT - anglicky MATCH
Funkce je jednoduchá, má jen tři parametry.
- Prvním parametrem je co se má hledat
- Druhým parametrem je kde se to má hledat
- Třetí parametrem je obvykle nula (viz dále)
Návod
V tomto případě hledám, na které pozici je umístěna trojka. Výsledkem je číslo čtyři - je na čtvrté pozici.Stejně jako pro vyhledávání čísel funguje funkce i pro vyhledávání textů.
Poznámka ohledně třetího parametru
Třetí parametr může různý:
- 1 - najde největší hodnotu, která je menší nebo rovna hledané hodnotě. Funguje jen když je oblast, kde se hledá, seřazena od nejmenšího po největší.
- 0 - najde hodnotu, která přesně odpovídá.
- -1 - najde nejmenší hodnotu, která je větší nebo rovna hledané hodnotě. Funguje jen když je oblast, kde se hledá, seřazena od nejmenšího po největší.
Nemohu přijít na to jak vyhledávat v jiném sešitu.
OdpovědětVymazatRespektive pokud název tohoto sešitu a listu zadám "natvrdo" (například 48) funguje vše OK.:
INDEX('[48.xlsm]48'!$D$3:$EB$236;POZVYHLEDAT(AG14;'[48.xlsm]48'!$D$3:$D$236;0);POZVYHLEDAT(CONCATENATE("*";AF14);'[48.xlsm]48'!$D$3:$EB$3;0))
Pokud chci však docílit aby hledalo vždy v příslušném sešitu dle proměné (například A14 kde bude zapsáno oněch 48 nebo dle potřeby) již se mi nedaří sestavit funkční vzorec.:
INDEX(CONCATENATE("'[";A14;".xlsm]";A14;"'!$D$3:$EB$236");POZVYHLEDAT(AG14;CONCATENATE("'[";A14;".xlsm]";A14;"'!$D$3:$D$236");0);POZVYHLEDAT(CONCATENATE("*";AF14);CONCATENATE("'[";A14;".xlsm]";A14;"'!$D$3:$EB$3");0))
Poradí někdo kde dělám chybu? Díky