SEARCH Fx - Encontrar substring em string - planilhas Excel, VBA e G

Baixar exemplo de pasta de trabalho

Baixe a apostila de exemplo

Este tutorial demonstra como usar o Função PESQUISA do Excel no Excel para localizar a posição do texto dentro de uma célula.

Visão geral da função SEARCH

A função SEARCH encontra um caractere ou string de texto e retorna sua posição na célula. Não diferencia maiúsculas de minúsculas.

Para usar a função PESQUISAR planilha do Excel, selecione uma célula e digite:

(Observe como as entradas da fórmula aparecem)

Sintaxe da função de pesquisa e entradas:

= SEARCH (find_text, within_text, start_num)

find_text - A string de texto que você deseja encontrar.

dentro do texto - A string original do texto.

start_num - OPCIONAL. O número do caractere a partir do qual iniciar a pesquisa. Nota: Isso apenas altera o intervalo de pesquisa, não afetará o número retornado quando uma correspondência for encontrada. Exemplo: pesquisar por “s” na string “suns” retornará 1 por padrão, mas se o núm_inicial for definido como 2, ele retornará 4.

O que é a função SEARCH?

A função SEARCH do Excel “pesquisa” uma seqüência de texto dentro de outra seqüência. Se o texto for encontrado, SEARCH retorna a posição numérica da string.

SEARCH NÃO diferencia maiúsculas de minúsculas. Isso significa que “texto” corresponderá a “TEXTO”. Para pesquisar texto com distinção entre maiúsculas e minúsculas, use a função FIND <>.

Como usar a função SEARCH

A função PESQUISA do Excel funciona da seguinte maneira:

= PESQUISA ("e", "elefante")

Aqui, o Excel retornará 1, já que “e” é o primeiro caractere em “elefante”.

Abaixo estão mais alguns exemplos.

Número inicial (núm_inicial)

Opcionalmente, você pode definir um número inicial (núm_inicial). start_num diz à função SEARCH onde iniciar a pesquisa. Se você deixar em branco, a pesquisa começará no primeiro caractere.

= PESQUISA (B3, C3)

Agora, vamos definir start_num como 2, o que significa que SEARCH começará a procurar a partir do segundo caractere.

= PESQUISA (B3, C3, D3)

Neste caso, SEARCH retorna 3: a posição do segundo “e”.

Importante: start_num não tem impacto no valor de retorno, SEARCH sempre começará a contar com o primeiro caractere.

Erros de número inicial (start_num)

Se você usar um número inicial, certifique-se de que seja um número inteiro positivo menor do que o comprimento da string que deseja pesquisar, caso contrário, você receberá um erro. Você também receberá um erro se passar uma célula em branco como seu número inicial:

= PESQUISA (B3, C3, D3)

Pesquisas malsucedidas retornam um #VALUE! Erro

Se SEARCH não conseguir encontrar o valor de pesquisa, o Excel retornará um #VALUE! erro.

Pesquisa que não diferencia maiúsculas de minúsculas

O exemplo abaixo demonstra que a função SEARCH não faz distinção entre maiúsculas e minúsculas. Procuramos por “abc”, mas SEARCH retornou 1, porque correspondia a “ABC”.

Pesquisa curinga

Você pode usar curingas com SEARCH, que permitem pesquisar caracteres não especificados.

Um ponto de interrogação no texto da pesquisa significa “qualquer caractere”. Portanto, “? 000” no exemplo abaixo significa “Pesquise qualquer caractere seguido por três zeros”.

Um asterisco significa “qualquer número de caracteres desconhecidos”. Aqui, estamos pesquisando “1 * C” e SEARCH retorna 2 porque corresponde a “1-ABC”.

No próximo exemplo, estamos pesquisando “000?” - isto é, “000” seguido por qualquer caractere. Temos “000”, mas está no final da string e, portanto, não é seguido por nenhum caractere, então obtemos um erro

No entanto, se usarmos um asterisco em vez de um ponto de interrogação - então “000 *” em vez de “000?”, Teremos uma correspondência. Isso ocorre porque o asterisco significa “qualquer número de caracteres” - incluindo nenhum caractere.

Como dividir o nome e o sobrenome de uma célula com PESQUISA

Se você tiver nomes e sobrenomes na mesma célula e quiser atribuir uma célula a cada um, pode usar PESQUISAR para isso - mas também precisará usar algumas outras funções.

Obtendo o primeiro nome

A função LEFT do Excel retorna um certo número de caracteres de uma string, começando da esquerda.

Se usarmos SEARCH para retornar a posição do espaço entre o nome e o sobrenome, subtrair 1 disso, saberemos o comprimento do nome. Então, podemos simplesmente passar isso para a ESQUERDA.

A fórmula do primeiro nome é:

= ESQUERDA (B3, PESQUISA (““, B3) -1)

Obtendo o Sobrenome

A função RIGHT Excel retorna um certo número de caracteres à direita de uma string.

Para obter um número de caracteres igual ao comprimento do sobrenome, usamos SEARCH para nos dizer a posição do espaço e, em seguida, subtraímos esse número do comprimento total da string - que podemos obter com LEN.

A fórmula do sobrenome é:

= DIREITA (B3, LEN (B3) -SEARCH (““, B3))

Observe que se os seus dados de nome contiverem nomes do meio, o nome do meio será dividido na célula “Sobrenome”.

Usando SEARCH para retornar o enésimo caractere em uma string

Conforme observado acima, SEARCH retorna a posição da primeira correspondência encontrada. Mas, combinando-o com CHAR e SUBSTITUTE, podemos usá-lo para localizar ocorrências posteriores de um personagem, como a segunda ou a terceira instância.

Aqui está a fórmula:

= SEARCH (CHAR (134), SUBSTITUTE (D3, C3, CHAR (134), B3))

Pode parecer um pouco complicado no início, então vamos decompô-lo:

  • Estamos usando SEARCH e a string que procuramos é “CHAR (134)”. CHAR retorna um caractere baseado em seu código ASCII. CHAR (134) é um símbolo de punhal - você pode usar qualquer coisa aqui, desde que não apareça em sua seqüência real.
  • SUBSTITUTE passa por uma string e substitui um caractere ou substring por outro. Aqui, estamos substituindo a string que queremos encontrar (que está em C3) por CHAR (134). O motivo pelo qual isso funciona é que o quarto parâmetro de SUBSTITUTE é o número da instância, que armazenamos em B3.
  • Portanto, SUBSTITUTE troca o enésimo caractere na string pelo símbolo da adaga e, em seguida, SEARCH retorna a posição dele.

Aqui está o que parece:

Encontrando a seção intermediária de uma corda

Imagine que você tenha muitos números de série com o seguinte formato:

AB1XCDC-1BB / BB99

Você foi solicitado a puxar a seção do meio de cada um. Em vez de fazer isso manualmente, você pode combinar SEARCH com MID para automatizar essa tarefa.

A função MID Excel retorna uma parte de uma string. Suas entradas são uma string de texto, um ponto inicial e vários caracteres.

Como o ponto inicial que queremos é o caractere após o hífen, podemos usar SEARCH para obter a posição do hífen e adicionar 1 a ele. Se o número de série estivesse em B3, usaríamos:

= PESQUISA ("-", B3) +1

Para obter o número de caracteres que queremos extrair daqui, podemos usar a pesquisa para obter a posição da barra, subtrair a posição do hífen e, em seguida, subtrair 1 para garantir que não retornemos a barra:

= PESQUISA ("/", B3)-PESQUISA ("-", B3) -1

Em seguida, simplesmente conectamos essas duas fórmulas ao MID:

PESQUISAR Vs ENCONTRAR

SEARCH e FIND são funções semelhantes. Ambos retornam a posição de um determinado caractere ou substring em outra string. No entanto, existem duas diferenças principais:

  • FIND diferencia maiúsculas de minúsculas, mas SEARCH não é
  • FIND não permite caracteres curinga, mas SEARCH permite

Você pode ver alguns exemplos dessas diferenças abaixo:

PESQUISAR no Planilhas Google

A função SEARCH funciona exatamente da mesma forma no Planilhas Google e no Excel:

Notas Adicionais

A função SEARCH é uma versão sem distinção entre maiúsculas e minúsculas da função FIND. SEARCH também oferece suporte a curingas. O Find não.

Exemplos de PESQUISA em VBA

Você também pode usar a função SEARCH no VBA. Modelo:
application.worksheetfunction.search (find_text, within_text, start_num)
Para os argumentos da função (find_text, etc.), você pode inseri-los diretamente na função ou definir as variáveis ​​a serem usadas.

Voltar para a lista de todas as funções no Excel

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave