
Obecný vzorec
=IF(COUNTIF(A1,"??-????-???"),"","invalid")
souhrn
Funkce IF nepodporuje zástupné znaky, ale můžete kombinovat IF s COUNTIF nebo COUNTIFS a získat základní funkce zástupných znaků. V zobrazeném příkladu je vzorec v C5:
=IF(COUNTIF(B5,"??-????-???"),"","invalid")
Vysvětlení
Na rozdíl od několika dalších často používaných funkcí funkce IF nepodporuje zástupné znaky. Můžete však použít funkce COUNTIF nebo COUNTIFS uvnitř logického testu IF pro základní funkce zástupných znaků.
V zobrazeném příkladu je vzorec v C5:
=IF(COUNTIF(B5,"??-????-???"),"","invalid")
Při práci zevnitř ven je logický test uvnitř funkce IF založen na funkci COUNTIF:
COUNTIF(B5,"??-????-???")
Zde COUNTIF spočítá buňky, které odpovídají vzoru „?? - ???? - ???“, ale protože rozsah je pouze jedna buňka, odpověď je vždy 1 nebo nula. Zástupný znak otazníku (?) Znamená „jeden znak“, takže funkce COUNTIF vrátí číslo 1, když text sestává z 11 znaků se dvěma pomlčkami, jak je popsáno vzorem. Pokud obsah buněk neodpovídá tomuto vzoru, vrátí funkce COUNTIF nulu.
Když je počet 1, vrátí funkce IF prázdný řetězec (""). Když je počet nulový, IF vrátí text "neplatný". Funguje to kvůli logické logice, kde je číslo 1 vyhodnoceno jako PRAVDA a číslo nula jako FALSE.
Alternativa s funkcí SEARCH
Dalším způsobem použití zástupných znaků s funkcí IF je kombinace funkcí SEARCH a ISNUMBER a vytvoření logického testu. To funguje, protože funkce SEARCH podporuje zástupné znaky. SEARCH a ISNUMBER však společně automaticky provádějí shodu typu „contains-type“, takže zástupné znaky nejsou vždy nutné. Tato stránka ukazuje základní příklad.