Como encontrar caracteres especiais em uma string no Excel

Índice:

Anonim

Sabemos que as funções TRIM e CLEAN do Excel são usadas para limpar caracteres não imprimíveis e espaços extras de strings, mas não ajudam muito na identificação de strings contendo qualquer caractere especial como @ ou! etc. Nesses casos, usamos UDFs.

Portanto, se você quiser saber se uma string contém algum caractere especial, não encontrará nenhuma fórmula ou função do Excel para fazê-lo. Podemos encontrar os caracteres especiais que estão no teclado digitando manualmente, mas você não pode saber se há símbolos na string ou não.

Encontrar qualquer caractere especial pode ser muito importante para fins de limpeza de dados. E em alguns casos, isso deve ser feito. Então, como fazemos isso no Excel? Como podemos saber se uma string contém algum caractere especial? Bem, podemos usar UDF para fazer isso.

A fórmula abaixo retornará TRUE se qualquer célula contiver qualquer caractere diferente de 1 a 0 e A a Z (em ambos os casos). Se não encontrar nenhum caractere especial, ele retornará FALSO.

Fórmula Genérica

= ContainsSpecialCharacters (string)

Fragmento: A string na qual você deseja verificar os caracteres especiais.

Para que esta fórmula funcione, você precisará colocar o código abaixo no módulo de sua pasta de trabalho.

Portanto, abra o Excel. Pressione ALT + F11 para abrir o VBE. Insira um módulo do menu Inserir. Copie o código abaixo e cole-o no módulo.

Função ContainsSpecialCharacters (str As String) As Boolean For I = 1 To Len (str) ch = Mid (str, I, 1) Selecione Case ch Case "0" To "9", "A" To "Z", "a "Para" z "," "ContainsSpecialCharacters = False Case Else ContainsSpecialCharacters = True Exit For End Selecione Next End Function

Agora a função está pronta para ser usada.
Vá para a planilha na pasta de trabalho que contém as strings que você deseja verificar.

Escreva a fórmula abaixo na célula C2:

= Contém caracteres especiais (B13)

Ele retorna TRUE para a primeira string, pois contém um caractere especial. Quando você copia a fórmula, ela mostra FALSE para a string B14 e assim por diante.

Mas estranhamente mostra VERDADEIRO para a última string "Exceltip.com". É porque contém um ponto (.). Mas por quê? Vamos examinar o código para entender.

Como funciona a função?

Estamos iterando todos os caracteres da string usando o loop For e a função mid do VBA. A função Mid extrai um caractere por vez da string e o armazena na variável ch.

Para I = 1 Para Len (str) ch = Mid (str, I, 1) 

Agora vem a parte principal. Usamos a instrução select case para verificar o que a variável ch contém.

Dizemos ao VBA para verificar se ch contém algum dos valores definidos. Eu defini 0 a 9, A a Z, a a z e "" (espaço). Se c
h contém qualquer um deles, definimos seu valor como False.

Selecione Caso ch Caso "0" Para "9", "A" Para "Z", "a" Para "z", "" ContainsSpecialCharacters = False 

Você pode ver que não temos um ponto (.) Na lista e é por isso que obtemos TRUE para a string que contém o ponto. Você pode adicionar qualquer caractere à lista para ficar isento da fórmula.

Se ch contém qualquer caractere diferente dos caracteres listados, definimos o resultado da função como True e encerramos o loop ali mesmo.

Case Else ContainsSpecialCharacters = True Exit For 

Então sim, é assim que funciona. Mas se quiser limpar caracteres especiais, você precisará fazer algumas alterações na função.

Como limpar caracteres especiais de strings no Excel?

Para limpar caracteres especiais de uma string no Excel, criei outra função personalizada no VBA. A sintaxe da função é:

= CleanSpecialCharacters (string)

Esta função retorna uma versão limpa da string passada para ela. A nova string não conterá nenhum dos caracteres especiais.

O código desta função é assim:

Função CleanSpecialCharacters (str As String) Dim nstr As String nstr = str For I = 1 To Len (str) ch = Mid (str, I, 1) Selecione Case ch Case "0" To "9", "A" To " Z "," a "Para" z "," "'Não fazer nada Case Else nstr = Substituir (nstr, ch," ") End Selecionar Próximo CleanSpecialCharacters = nstr End Function 

Copie isso no mesmo módulo que você copiou no código acima.

Quando você usa essa fórmula nas strings, os resultados serão os seguintes:

Você pode ver que cada caractere especial é removido da string, incluindo o ponto.

Como funciona?

Funciona da mesma forma que a função acima. A única diferença é que esta função substitui cada caractere especial por um caractere nulo. Forma uma nova string e retorna esta string.

Selecione Caso ch Caso "0" Para "9", "A" Para "Z", "a" Para "z", "" 'ContainsSpecialCharacters = False Case Else nstr = Replace (nstr, ch, "") End Select 

Se você deseja isentar qualquer caractere de ser limpo, você pode adicioná-lo à lista no código. O Excel perdoará esse personagem especial.

Então sim pessoal, é assim que você pode encontrar e substituir caracteres especiais de uma string no Excel. Espero que isso tenha sido suficientemente explicativo e útil. Se isso não ajudar você a resolver seu problema, avise-nos na seção de comentários abaixo.

Como usar a função TRIM no Excel: A função TRIM é usada para aparar strings e limpar quaisquer espaços à direita ou à esquerda da string. Isso nos ajuda muito no processo de limpeza de dados.

Como usar a função CLEAN no Excel: A função de limpeza é usada para limpar caracteres não imprimíveis da string. Esta função é usada principalmente com a função TRIM para limpar dados estrangeiros importados.

Substitua o texto do final de uma string começando na posição variável: Para substituir o texto do final da string, usamos a função REPLACE. A função REPLACE usa a posição do texto na string para substituí-lo.

Como verificar se uma string contém um dos muitos textos no Excel: Para verificar se uma string contém algum texto múltiplo, usamos esta fórmula. Usamos a função SUM para somar todas as correspondências e, em seguida, executamos uma lógica para verificar se a string contém alguma das várias strings.

Contar células que contêm texto específico: Uma simples função CONT.SE fará a mágica. Para contar o número de células múltiplas que contêm uma determinada string, usamos o operador curinga com a função CONT.SE.

Função REPLACE vs SUBSTITUTE do Excel: As funções REPLACE e SUBSTITUTE são as funções mais incompreendidas. Para localizar e substituir um determinado texto, usamos a função SUBSTITUTE. Onde REPLACE é usado para substituir vários caracteres na string …

Artigos populares:

50 atalhos do Excel para aumentar sua produtividade | Torne sua tarefa mais rápida. Esses 50 atalhos farão você trabalhar ainda mais rápido no Excel.

Como usar a função VLOOKUP do Excel| Esta é uma das funções mais usadas e populares do Excel, que é usada para pesquisar valores em diferentes intervalos e planilhas.

Como usar o Excel Função CONT.SE| Conte valores com condições usando esta função incrível. Você não precisa filtrar seus dados para contar valores específicos. A função Countif é essencial para preparar seu painel.

Como usar a função SUMIF no Excel | Esta é outra função essencial do painel. Isso ajuda você a somar valores em condições específicas.