Fórmula do Excel: IF com curingas -

Fórmula genérica

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

Resumo

A função IF não oferece suporte a curingas, mas você pode combinar IF com CONT.SE ou CONT.SE para obter a funcionalidade básica de curinga. No exemplo mostrado, a fórmula em C5 é:

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

Explicação

Ao contrário de várias outras funções usadas com frequência, a função IF não oferece suporte a curingas. No entanto, você pode usar as funções CONT.SE ou CONT.SE dentro do teste lógico de IF para a funcionalidade básica de curinga.

No exemplo mostrado, a fórmula em C5 é:

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

Trabalhando de dentro para fora, o teste lógico dentro da função IF é baseado na função CONT.SE:

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

Aqui, COUNTIF conta as células que correspondem ao padrão "?? - ???? - ???", mas como o intervalo é apenas uma célula, a resposta é sempre 1 ou zero. O curinga de ponto de interrogação (?) Significa "um caractere", então CONT.SE retorna o número 1 quando o texto consiste em 11 caracteres com dois hifens, conforme descrito pelo padrão. Se o conteúdo da célula não corresponder a esse padrão, COUNTIF retornará zero.

Quando a contagem é 1, a função IF retorna uma string vazia (""). Quando a contagem é zero, IF retorna o texto "inválido". Isso funciona devido à lógica booleana, onde o número 1 é avaliado como TRUE e o número zero é avaliado como FALSE.

Alternativa com função SEARCH

Outra maneira de usar curingas com a função IF é combinar as funções SEARCH e ISNUMBER para criar um teste lógico. Isso funciona porque a função SEARCH oferece suporte a curingas. No entanto, SEARCH e ISNUMBER juntos executam automaticamente uma correspondência "tipo contém", portanto, os curingas nem sempre são necessários. Esta página mostra um exemplo básico.

Artigos interessantes...