Formula Excel: IF cu metacaractere -

Formula generică

=IF(COUNTIF(A1,"??-????-???"),"","invalid")

rezumat

Funcția IF nu acceptă metacaractere, dar puteți combina IF cu COUNTIF sau COUNTIFS pentru a obține funcționalitatea de bază cu metacaracter. În exemplul prezentat, formula din C5 este:

=IF(COUNTIF(B5,"??-????-???"),"","invalid")

Explicaţie

Spre deosebire de alte câteva funcții utilizate frecvent, funcția IF nu acceptă metacaracterele. Cu toate acestea, puteți utiliza funcțiile COUNTIF sau COUNTIFS în cadrul testului logic al IF pentru funcționalitatea de bază cu metacaracter.

În exemplul prezentat, formula din C5 este:

=IF(COUNTIF(B5,"??-????-???"),"","invalid")

Lucrând din interior spre exterior, testul logic din interiorul funcției IF se bazează pe funcția COUNTIF:

COUNTIF(B5,"??-????-???")

Aici, COUNTIF numără celulele care se potrivesc cu modelul "?? - ???? - ???", dar din moment ce intervalul este doar o celulă, răspunsul este întotdeauna 1 sau zero. Semnul de întrebare wildcard (?) Înseamnă „un caracter”, deci COUNTIF returnează numărul 1 când textul este format din 11 caractere cu două cratime, așa cum este descris de model. Dacă conținutul celulei nu se potrivește cu acest model, COUNTIF returnează zero.

Când numărul este 1, funcția IF returnează un șir gol (""). Când numărul este zero, IF returnează textul „invalid”. Acest lucru funcționează datorită logicii booleene, unde numărul 1 este evaluat ca ADEVĂRAT și numărul zero este evaluat ca FALS.

Alternativă cu funcția SEARCH

O altă modalitate de a folosi metacaracterele cu funcția IF este de a combina funcțiile SEARCH și ISNUMBER pentru a crea un test logic. Acest lucru funcționează deoarece funcția SEARCH acceptă metacaractere. Cu toate acestea, SEARCH și ISNUMBER împreună efectuează automat o potrivire de tip „conține”, astfel încât nu sunt întotdeauna necesare metacaracterele. Această pagină prezintă un exemplu de bază.

Articole interesante...