Função LOCALIZAR no Excel: Como Encontrar a Posição de um Texto

Você já precisou saber em que posição exata um caractere específico aparece dentro de um texto, como o “@” de um e-mail ou o hífen de um código de produto, para depois usar esse número em outra fórmula? Fazer essa contagem no olho, célula por célula, funciona para duas ou três linhas, mas vira inviável quando a planilha tem centenas de registros com textos de tamanhos diferentes.

Sem uma função que devolva essa posição automaticamente, qualquer fórmula que dependa dela — como extrair um trecho de tamanho variável com ESQUERDA ou DIREITA — precisa ser recalculada manualmente toda vez que o texto original mudar. Isso trava a planilha e é praticamente impossível de manter em bases grandes.

Neste artigo iremos mostrar como a função LOCALIZAR resolve esse problema, devolvendo a posição de um texto dentro de outro de forma automática, incluindo um comportamento que costuma gerar confusão: ela não diferencia maiúsculas de minúsculas e ainda aceita curinga.

O que é a função LOCALIZAR

LOCALIZAR (equivalente a SEARCH na versão em inglês do Excel) é uma função de texto que retorna o número da posição em que um texto começa dentro de outro texto. O resultado é sempre um número, contado a partir do primeiro caractere, que depois pode ser usado em outras fórmulas, como ESQUERDA, DIREITA ou EXT.TEXTO.

DOMINE EXCEL COMIGO

QUERO APRENDER EXCEL

A sintaxe é:

=LOCALIZAR(texto_procurado; no_texto; [núm_inicial])

  • texto_procurado: obrigatório. O texto que você quer encontrar.
  • no_texto: obrigatório. A célula ou o texto onde a busca deve acontecer.
  • núm_inicial: opcional. A partir de qual posição a busca deve começar. Se omitido, o Excel começa do primeiro caractere.

Se o texto procurado não for encontrado, LOCALIZAR retorna o erro #VALOR!.

O detalhe que confunde muita gente: LOCALIZAR não diferencia maiúsculas de minúsculas

Aqui está o ponto mais importante deste artigo, porque é o contrário do que a maioria das pessoas espera: a função LOCALIZAR ignora a diferença entre maiúsculas e minúsculas. Ou seja, buscar “promoção” com LOCALIZAR encontra tanto “promoção” quanto “PROMOÇÃO” ou “Promoção”, não importa como o texto original está escrito.

Veja um exemplo prático, buscando a posição da palavra “promoção” em três textos diferentes:

Tabela com resultado da função LOCALIZAR buscando a palavra promoção em textos com maiúsculas e minúsculas diferentes

Com a fórmula =LOCALIZAR(“promoção”;A2), o resultado é 13 tanto para “Aproveite a promoção de inverno” quanto — se o texto estivesse todo em minúsculas — para qualquer variação de caixa. Já na segunda linha, “PROMOÇÃO ESPECIAL só hoje” está inteiramente em maiúsculas, e mesmo assim LOCALIZAR encontra a palavra na posição 1, porque, de novo, ela não se importa com maiúsculas ou minúsculas. Só na terceira linha, onde a palavra realmente não existe no texto, é que o resultado vira o erro #VALOR!.

LOCALIZAR também aceita curinga

Outro recurso pouco conhecido da função LOCALIZAR é que ela aceita os caracteres curinga ? (que substitui qualquer caractere único) e * (que substitui qualquer sequência de caracteres), os mesmos usados em fórmulas como PROCV e CONT.SE.

Por exemplo, =LOCALIZAR(“prod*inho”;A2) encontra tanto “produtinho” quanto “produzinho” ou qualquer variação que comece com “prod” e termine com “inho”, não importa o que tenha no meio. Já =LOCALIZAR(“l?te”;A2) encontra tanto “lote” quanto “lite”, já que o “?” substitui exatamente um caractere. Se você precisar buscar literalmente um “?” ou um “*” dentro do texto, sem que o Excel os interprete como curinga, é só colocar um til (~) antes do símbolo: “~?” ou “~*”.

Usando o resultado de LOCALIZAR em outras fórmulas

Na prática, LOCALIZAR raramente é usada sozinha — o mais comum é combiná-la com ESQUERDA, DIREITA ou EXT.TEXTO para extrair um trecho de texto cujo tamanho varia de linha para linha. Se você quer extrair tudo antes do “@” em uma lista de e-mails, mas cada nome de usuário tem um tamanho diferente, a fórmula fica:

=ESQUERDA(A2;LOCALIZAR(“@”;A2)-1)

Aqui, LOCALIZAR encontra a posição do “@” em cada linha, e o “-1” garante que o “@” em si não entre no resultado, deixando só o nome de usuário. Da mesma forma, para pegar tudo depois do “@”, a combinação usa DIREITA junto com NÚM.CARACT para calcular quantos caracteres restam depois da posição encontrada.

Se o seu objetivo é justamente extrair texto antes ou depois de um delimitador, vale a pena também conhecer as funções TEXTOANTES e TEXTODEPOIS, disponíveis nas versões mais recentes do Excel, que fazem isso direto, sem precisar calcular posição — veja mais no artigo sobre TEXTOANTES e TEXTODEPOIS no Excel.

LOCALIZAR x PROCURAR: qual usar

O Excel tem duas funções quase idênticas para encontrar a posição de um texto: LOCALIZAR e PROCURAR. A diferença entre elas é exatamente o oposto do que muita gente assume à primeira vista: LOCALIZAR não diferencia maiúsculas de minúsculas e aceita curinga, enquanto PROCURAR diferencia maiúsculas de minúsculas e não aceita curinga.

Isso significa que, se você precisa de uma busca sensível a maiúsculas — por exemplo, para validar se um código está digitado com a caixa exata que o sistema espera — LOCALIZAR não serve, porque ela vai encontrar o texto de qualquer forma que ele estiver escrito. Nesse caso, a função certa é PROCURAR, que tratamos em detalhe no artigo sobre a função PROCURAR no Excel.

Erros comuns ao usar LOCALIZAR

O erro mais frequente é presumir que LOCALIZAR se comporta como PROCURAR e vice-versa, especialmente quando alguém copia uma fórmula pronta de outro lugar sem checar qual das duas está sendo usada. Se uma validação de planilha depende de diferenciar “SKU123” de “sku123”, usar LOCALIZAR por engano faz a validação passar quando não deveria. ✅ Use LOCALIZAR quando a caixa do texto não importa. ❌ Use LOCALIZAR quando precisa validar a caixa exata (nesse caso, use PROCURAR).

Outro deslize comum é esquecer de tratar o erro #VALOR! quando o texto procurado pode não existir em todas as linhas. Envolver a fórmula com SEERRO evita que o erro se espalhe pela planilha: =SEERRO(LOCALIZAR(“promoção”;A2);”Não encontrado”).

Disponibilidade da função LOCALIZAR

A função LOCALIZAR está disponível em todas as versões modernas do Excel, incluindo Excel 365, Excel 2021, Excel 2019, Excel 2016 e também no Excel Online, Excel para Mac e no Google Planilhas, onde funciona de forma idêntica: =LOCALIZAR(texto_procurado; no_texto; [núm_inicial]). Por ser uma função de texto tão fundamental, ela também está presente em versões bem antigas do Excel, sem restrição de compatibilidade.

Compartilhe ou Comente

Se você curtiu esse artigo aonde mostramos como a função LOCALIZAR encontra a posição de um texto dentro de outro, sem diferenciar maiúsculas de minúsculas e ainda aceitando curinga, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.

Você já usou LOCALIZAR combinada com ESQUERDA ou DIREITA para extrair um trecho de tamanho variável? Já caiu na pegadinha de confundir LOCALIZAR com PROCURAR numa validação que precisava diferenciar maiúsculas de minúsculas? Conta para nós nos comentários!

Perguntas frequentes

LOCALIZAR diferencia maiúsculas de minúsculas?

Não. LOCALIZAR ignora completamente a diferença entre maiúsculas e minúsculas — buscar “promoção” encontra tanto “promoção” quanto “PROMOÇÃO” ou “Promoção”. Se você precisa de uma busca sensível à caixa do texto, use a função PROCURAR no lugar.

Qual a diferença entre LOCALIZAR e PROCURAR?

LOCALIZAR não diferencia maiúsculas de minúsculas e aceita os curingas ? e *. PROCURAR faz o oposto: diferencia maiúsculas de minúsculas e não aceita curinga. Escolha a função de acordo com se a caixa do texto importa ou não para o seu caso.

O que acontece se o texto procurado não existir?

A função LOCALIZAR retorna o erro #VALOR! quando o texto procurado não é encontrado dentro do texto pesquisado. Para evitar que esse erro apareça na planilha, envolva a fórmula com SEERRO, assim: =SEERRO(LOCALIZAR(“texto”;A2);”Não encontrado”).

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *