
Všeobecný vzorec
=IF(ISNUMBER(SEARCH("abc",A1)),A1,"")
Zhrnutie
Na testovanie buniek, ktoré obsahujú určitý text, môžete použiť vzorec, ktorý používa funkciu IF spolu s funkciami SEARCH a ISNUMBER. V zobrazenom príklade je vzorec v C5:
=IF(ISNUMBER(SEARCH("abc",B5)),B5,"")
Vysvetlenie
Jedným obmedzením funkcie IF je, že nepodporuje zástupné znaky ako „?“ a „*“. To znamená, že samotný IF nemôžete použiť na testovanie textu, ktorý sa môže zobraziť kdekoľvek v bunke.
Jedným z riešení je vzorec, ktorý používa funkciu IF spolu s funkciami SEARCH a ISNUMBER. V zobrazenom príklade máme zoznam e-mailových adries a chceme extrahovať tie, ktoré obsahujú reťazec „abc“. V C5 vzorec používali tento:
=IF(ISNUMBER(SEARCH("abc",B5)),B5,"")
Ak sa „abc“ nájde kdekoľvek v bunke B5, IF túto hodnotu vráti. Ak nie, IF vráti prázdny reťazec (""). V tomto vzorci je logický test tento bit:
ISNUMBER(SEARCH("abc",B5))
Tento úryvok vráti TRUE, ak hodnota v B5 obsahuje „abc“ a false, ak nie. Logika ISNUMBER + SEARCH je podrobne vysvetlená tu.
Ak chcete skopírovať bunku hodnotu v B5, keď obsahuje znak „abc“, poskytneme znova B5 pre argument „hodnota, ak je to pravda“. Ak je FALSE, dodáme prázdny reťazec (""), ktorý sa v pracovnom hárku zobrazí ako prázdna bunka.