
Általános képlet
=IF(COUNTIF(A1,"??-????-???"),"","invalid")
Összegzés
Az IF függvény nem támogatja a helyettesítő karaktereket, de az IF helyettesítheti a COUNTIF vagy a COUNTIFS karakterekkel az alapvető helyettesítő karakterek használatához. A bemutatott példában a C5 képlete a következő:
=IF(COUNTIF(B5,"??-????-???"),"","invalid")
Magyarázat
Számos más gyakran használt függvénnyel ellentétben az IF funkció nem támogatja a helyettesítő karaktereket. Használhatja azonban a COUNTIF vagy a COUNTIFS függvényeket az IF logikai tesztjén belül az alapvető helyettesítő karakter funkciókhoz.
A bemutatott példában a C5 képlete a következő:
=IF(COUNTIF(B5,"??-????-???"),"","invalid")
Belülről kifelé haladva az IF függvényen belüli logikai teszt a COUNTIF függvényen alapul:
COUNTIF(B5,"??-????-???")
Itt a COUNTIF megszámolja azokat a cellákat, amelyek megfelelnek az "?? - ???? - ???" mintának, de mivel a tartomány csak egy cella, a válasz mindig 1 vagy nulla. A helyettesítő kérdőjel (?) Jelentése "egy karakter", tehát a COUNTIF visszaadja az 1-es számot, ha a szöveg 11 karakterből áll, két kötőjellel, a minta leírása szerint. Ha a cellatartalom nem egyezik ezzel a mintával, a COUNTIF nullát ad vissza.
Ha a számlálás értéke 1, az IF függvény üres karakterláncot ad vissza (""). Ha a számlálás nulla, az IF visszaadja az "érvénytelen" szöveget. Ez a logikai logika miatt működik, ahol az 1 számot IGAZként, a nulla értéket FALSE értékként értékeljük.
Alternatív megoldás a KERESÉS funkcióval
A helyettesítő karakterek IF funkcióval történő használatának másik módja a SEARCH és az ISNUMBER függvények kombinálása logikai teszt létrehozásához. Ez azért működik, mert a KERESÉS funkció támogatja a helyettesítő karaktereket. A SEARCH és az ISNUMBER együttesen automatikusan végrehajtja a "tartalmaz-típusú" egyezést, így a helyettesítő karakterekre nem mindig van szükség. Ez az oldal egy alapvető példát mutat be.