O funkci SVYHLEDAT jste už pravděpodobně slyšeli a hádám, že ji pravidelně používáte. Říkáte si, jak by se dalo použití této funkcí ještě vylepšit?
O tom to bude dneska.
Někdy se hledání hodnoty v poli může pěkně zkomplikovat. Třeba pokud prohledávané pole obsahuje více hodnot.
- hledáme konkrétní dodací list a pole obsahuje více dodacích listů (DL54886 DL65863 DL54482 DL23598)
- hledáme příjmení a pole obsahuje jak jméno, tak příjmení (František Novák)
Nebo chceme hledat jen určité znaky z výrazu.
- mám kód produktu s určitou strukturou a hledám jeho část (např. ZKO v TL-ZKO145)
Přesně i v takových případech nás dokáže excel podržet.
Zástupné znaky, které máme k dispozici, jsou * a ?. Každý zástupný znak se hodí k trochu jinému použití, jak uvidíte dále.
Už vás nebudu napínat a ukážeme si, jak to kouzlo funguje.
SVYHLEDAT a zástupný znak „*“
Hned v prvním příkladu s dodacími listy by nám funkce SVYHLEDAT vrátila chybovou hodnotu, pokud bychom nepoužili zástupný znak a jen vložili B10 jak hledaný výraz.
Se zástupným znakem * to už bude ale jiná písnička.
Možná si říkáte, „Nojo, ale jak mám ten zástupný znak napsat do hledaného výrazu?“
Zástupný znak vložte do uvozovek a s hledaným výrazem spojte pomocí &. (Bez těchto formalitek to fungovat nebude. Naštěstí tato logika s uvozovkami a znakem & se používá ve více funkcích než jen tady, takže až příště přijde na věc, už budete za suverény 🙂
=IFERROR(SVYHLEDAT(B10&“*“;B3:C5;2;0);“n/a“)
Jak vidíte, SVYHLEDAT zůstala v klasické podobě, ke změně došlo pouze u hledaného výrazu. Hvězdička nám pomůže nahradit celý výraz v poli, který byl oddělený mezerou.
Výsledek po této úpravě sice bude lepší, ale pořád nebudeme mít ošetřené výrazy nacházející se na druhé pozici. Doladit i toto není nic složitého. Stačí přidat druhou funkci SVYHLEDAT, která bude mít hledaný výraz a zástupnou * postavenou naopak.
=IFERROR(SVYHLEDAT(B10&“*“;B3:C5;2;0);SVYHLEDAT(„*“&B10;B3:C5;2;0))
Nakonec to nebylo ani tak složité. Pokud bychom se setkali s tím, že by v prohledávaném poli byly dokonce tři hodnoty dodacích listů, dalo by se to ošetřit pomocí třetí funkce s hledaným výrazem v podobě „*“&B10″*“.
To bychom měli použití hvězdičky a ještě zbývá se podívat na to, jak se pracuje s otazníkem.
Varianta 2: použití se zástupným znakem „?“
Otazník funguje trochu jinak. Zatímco hvězdičkou jsme nahradily celý výraz oddělený mezerou, otazníkem nahrazujeme na úrovni znaků v poměru 1:1.
Předpokladem je, že prohledávaná pole mají jednotnou logiku. Např. prohledávané pole má 9 znaků a vy víte, že to, co hledáte, se nachází na pozici 4 až 6. Mohou to být různé číselné řady s prefixy či suffixem, kód produktu seskládaný ze zkratek pro klíčové vlastnosti.
V příkladu se nachází v poli B27 hledaná hodnota a v poli C27 vzorec pro nalezení odpovídajícího množství:
=SVYHLEDAT(„???“&B27&“???“;B17:C23;2;0)
V případě, že pracujete i v google tabulkách, nebo především v nich, pak vás potěším zprávou, že zástupné znaky lze stejně použít i pro google tabulky.
Co říkáte? Jen pár znaků navíc a o mnoho méně starostí 🙂