Fórmula do Excel: se a célula contiver -

Índice

Fórmula genérica

=IF(ISNUMBER(SEARCH("abc",A1)),A1,"")

Resumo

Para testar as células que contêm determinado texto, você pode usar uma fórmula que usa a função IF junto com as funções SEARCH e ISNUMBER. No exemplo mostrado, a fórmula em C5 é:

=IF(ISNUMBER(SEARCH("abc",B5)),B5,"")

Explicação

Uma limitação da função IF é que ela não oferece suporte a curingas como "?" e "*". Isso significa que você não pode usar IF sozinho para testar o texto que pode aparecer em qualquer lugar em uma célula.

Uma solução é uma fórmula que usa a função IF junto com as funções SEARCH e ISNUMBER. No exemplo mostrado, temos uma lista de endereços de e-mail e queremos extrair aqueles que contêm "abc". Em C5, a fórmula usada é esta:

=IF(ISNUMBER(SEARCH("abc",B5)),B5,"")

Se "abc" for encontrado em qualquer lugar na célula B5, IF retornará esse valor. Caso contrário, IF retornará uma string vazia (""). Nesta fórmula, o teste lógico é este bit:

ISNUMBER(SEARCH("abc",B5))

Este snippet retornará TRUE se o valor em B5 contiver "abc" e false se não. A lógica de ISNUMBER + SEARCH é explicada em detalhes aqui.

Para copiar o valor da célula em B5 quando ela contém "abc", fornecemos B5 novamente para o argumento "valor se verdadeiro". Se FALSE, fornecemos uma string vazia ("") que será exibida como uma célula em branco na planilha.

Artigos interessantes...