Excel vzorec: Pokud buňka obsahuje -

Obsah

Obecný vzorec

=IF(ISNUMBER(SEARCH("abc",A1)),A1,"")

souhrn

Chcete-li otestovat buňky, které obsahují určitý text, můžete použít vzorec, který používá funkci IF společně s funkcemi SEARCH a ISNUMBER. V zobrazeném příkladu je vzorec v C5:

=IF(ISNUMBER(SEARCH("abc",B5)),B5,"")

Vysvětlení

Jedním omezením funkce IF je, že nepodporuje zástupné znaky jako „?“ a "*". To znamená, že nemůžete použít IF samostatně k testování textu, který se může objevit kdekoli v buňce.

Jedním z řešení je vzorec, který používá funkci IF společně s funkcemi SEARCH a ISNUMBER. V zobrazeném příkladu máme seznam e-mailových adres a chceme extrahovat ty, které obsahují řetězec „abc“. V C5 vzorec používal toto:

=IF(ISNUMBER(SEARCH("abc",B5)),B5,"")

Pokud je kdekoli v buňce B5 nalezeno „abc“, IF tuto hodnotu vrátí. Pokud ne, vrátí IF prázdný řetězec (""). V tomto vzorci je logický test tento bit:

ISNUMBER(SEARCH("abc",B5))

Tento úryvek vrátí TRUE, pokud hodnota v B5 obsahuje „abc“ a false, pokud ne. Logika ISNUMBER + SEARCH je podrobně vysvětlena zde.

Chcete-li zkopírovat buňku hodnotu v B5, když obsahuje "abc", poskytujeme B5 znovu pro argument "hodnota, pokud je to pravda". Je-li FALSE, dodáme prázdný řetězec (""), který se v listu zobrazí jako prázdná buňka.

Zajímavé články...