
Všeobecný vzorec
=IF(COUNTIF(A1,"??-????-???"),"","invalid")
Zhrnutie
Funkcia IF nepodporuje zástupné znaky, ale môžete kombinovať IF s COUNTIF alebo COUNTIFS a získať základnú funkčnosť zástupných znakov. V zobrazenom príklade je vzorec v C5:
=IF(COUNTIF(B5,"??-????-???"),"","invalid")
Vysvetlenie
Na rozdiel od niekoľkých ďalších často používaných funkcií funkcia IF nepodporuje zástupné znaky. Môžete však použiť funkcie COUNTIF alebo COUNTIFS v logickom teste IF pre základnú funkčnosť zástupných znakov.
V zobrazenom príklade je vzorec v C5:
=IF(COUNTIF(B5,"??-????-???"),"","invalid")
Pri práci zvnútra von je logický test vo vnútri funkcie IF založený na funkcii COUNTIF:
COUNTIF(B5,"??-????-???")
COUNTIF tu počíta bunky, ktoré zodpovedajú vzoru „?? - ???? - ???“, ale keďže rozsah je iba jedna bunka, odpoveď je vždy 1 alebo nula. Zástupný znak otáznika (?) Znamená „jeden znak“, takže funkcia COUNTIF vráti číslo 1, keď text pozostáva z 11 znakov s dvoma spojovníkmi, ako je to popísané vzorom. Ak sa obsah bunky nezhoduje s týmto vzorom, funkcia COUNTIF vráti nulu.
Keď je počet 1, funkcia IF vráti prázdny reťazec (""). Ak je počet nulový, IF vráti text „neplatný“. Funguje to kvôli logickej logike, kde číslo 1 je vyhodnotené ako TRUE a číslo nula ako FALSE.
Alternatíva s funkciou SEARCH
Ďalším spôsobom použitia zástupných znakov s funkciou IF je kombinácia funkcií SEARCH a ISNUMBER a vytvorenie logického testu. To funguje, pretože funkcia SEARCH podporuje zástupné znaky. SEARCH a ISNUMBER spolu však automaticky vykonávajú zhodu typu „obsahuje“, takže zástupné znaky nie sú vždy potrebné. Táto stránka zobrazuje základný príklad.