Tutorial da Função REGEXREPLACE no Excel

Versão: Microsoft 365
Última atualização:
Dica: Use ⬆️ ⬇️ para passar a página para cima e para baixo. Recomendamos navegar com uma tela grande para uma melhor experiência de leitura.

1. Introdução à Função REGEXREPLACE

A função REGEXREPLACE é uma ferramenta poderosa no Excel que permite aos usuários encontrar e substituir substrings dentro de um texto usando expressões regulares. Isso é especialmente útil para limpar dados ou reformatar strings em massa.
Introdução à Função REGEXREPLACE

2. Parâmetros da Função REGEXREPLACE

Aqui está a sintaxe para usar a função REGEXREPLACE.
=REGEXREPLACE(text, pattern, replacement, [occurrence], [case_sensitivity])
  • text: obrigatório O texto ou a referência a uma célula que contém o texto em que você deseja substituir as strings.
  • pattern: obrigatório A expressão regular ("regex") que descreve o padrão de texto que você deseja substituir.
  • replacement: obrigatório O texto pelo qual você deseja substituir as instâncias do padrão.
  • occurrence: opcional Especifica qual instância do padrão você deseja substituir. Por padrão, a occurrence é 0, que substitui todas as instâncias. Um número negativo substitui essa instância, procurando a partir do final.
  • case_sensitivity: opcional Determina se a correspondência é sensível a maiúsculas e minúsculas. Por padrão, a correspondência é sensível a maiúsculas e minúsculas. Digite um dos seguintes:
  • 0: Sensível a maiúsculas e minúsculas
  • 1: Insensível a maiúsculas e minúsculas
  • 3. Cenário de Exemplo: Formatação de Números de Telefone

    Por exemplo, suponha que você tenha uma lista de números de telefone em vários formatos e que queira padronizá-los para o formato (xxx) xxx-xxxx. Usar a função REGEXREPLACE pode simplificar drasticamente esse processo.
    Cenário de Exemplo: Formatação de Números de TelefoneCenário de Exemplo: Formatação de Números de Telefone

    4. Começando com a Função REGEXREPLACE

    Digite no teclado: =REGEXREPLACE(, em seguida, selecione A5 como o texto a ser processado.
    Começando com a Função REGEXREPLACE

    5. Remover Caracteres Não Numéricos

    Aqui definimos a expressão regular como: "\D", que corresponde a qualquer caractere não numérico, e então definimos a substituição como uma string vazia: "".
    Remover Caracteres Não Numéricos

    6. Aplicar a Função REGEXREPLACE

    Dessa forma, podemos substituir todos os caracteres não numéricos nos números de telefone por nada.

    Você pode ver que os dados parecem inalterados porque o formato original já é numérico. Vamos aplicar o mesmo processamento a outras linhas.
    Aplicar a Função REGEXREPLACE

    7. Caracteres Não Numéricos Filtrados com Sucesso

    Agora, filtramos com sucesso os caracteres não numéricos dos números de telefone.
    Caracteres Não Numéricos Filtrados com Sucesso

    8. Formatar Números de Telefone

    Também podemos converter os números de telefone em um formato fixo de (xxx) xxx-xxxx.

    A expressão regular usada aqui é: "(\d{3})[.-]?\s?(\d{3})[.-]?\s?(\d{4})", e a regex de substituição é: "($1) $2-$3".
    Formatar Números de Telefone

    9. Análise da Correspondência de Expressões Regulares

    Aqui usamos três grupos de captura de expressões regulares para dividir o número de telefone em três partes. Cada parte corresponde aos dígitos no número de telefone.
    text:
    regularExpr:
    123-456-7890(\d{3})[.-]?\s?(\d{3})[.-]?\s?(\d{4})
    1123(\d{3})
    2-[.-]?\s?
    3456(\d{3})
    4-[.-]?\s?
    57890(\d{4})
    1(\d{3})
    (
    o início do grupo de captura
    \d Dígito
    corresponde a qualquer caractere numérico (0-9)
    {3} Quantificador
    corresponde 3 ao token anterior
    )
    o final do grupo de captura
    2[.-]?\s?
    [.-] Conjunto de caracteres
    caractere .,   caractere -.
    ? Quantificador
    corresponde entre 0 e 1 ao token anterior.
    \s Conjunto de caracteres
    qualquer caractere em branco (espaços, tabulações, quebras de linha)
    ? Quantificador
    corresponde entre 0 e 1 ao token anterior.
    3(\d{3})
    (
    o início do grupo de captura
    \d Dígito
    corresponde a qualquer caractere numérico (0-9)
    {3} Quantificador
    corresponde 3 ao token anterior
    )
    o final do grupo de captura
    4[.-]?\s?
    [.-] Conjunto de caracteres
    caractere .,   caractere -.
    ? Quantificador
    corresponde entre 0 e 1 ao token anterior.
    \s Conjunto de caracteres
    qualquer caractere em branco (espaços, tabulações, quebras de linha)
    ? Quantificador
    corresponde entre 0 e 1 ao token anterior.
    5(\d{4})
    (
    o início do grupo de captura
    \d Dígito
    corresponde a qualquer caractere numérico (0-9)
    {4} Quantificador
    corresponde 4 ao token anterior
    )
    o final do grupo de captura

    10. Análise de Substituição de Expressões Regulares

    Em seguida, concatenamos as três partes correspondentes à regex no formato desejado.
    text:
    regularExpr:
    (123) 456-6789($1) $2-$3
    1((
    2123$1
    3))
    4
    5456$2
    6--
    76789$3
    1( Caractere
    2$1 Conteúdo do primeiro grupo de captura
    3) Caractere
    4 Caractere
    caractere de espaço em branco
    5$2 Conteúdo do segundo grupo de captura
    6- Caractere
    7$3 Conteúdo do terceiro grupo de captura

    11. Números de Telefone Formatados com Sucesso

    Assim, formatamos com sucesso os números de telefone no formato desejado. Aplique isso a outras linhas para concluir todo o processo de limpeza de dados.
    Números de Telefone Formatados com Sucesso

    12. Casos de Falha na Correspondência de Expressões Regulares

    Você pode ficar perplexo que nossa expressão regular "(\d{3})[.-]?\s?(\d{3})[.-]?\s?(\d{4})" não tenha correspondido aos números de telefone originalmente no formato (xxx) xxx-xxxx.

    De fato, a razão é que a função REGEXREPLACE retorna o texto original inalterado se o regex não corresponder. Portanto, não há necessidade de coincidir com números de telefone que estavam originalmente no formato (xxx) xxx-xxxx.
    Casos de Falha na Correspondência de Expressões RegularesCasos de Falha na Correspondência de Expressões Regulares

    13. 🎉 Concluir! 🎉

    Nota do autor: Espero que você possa sentir o esforço que coloquei nesses tutoriais. Espero criar uma série de tutoriais de Excel muito fáceis de entender.

    Se for útil, ajude-me a compartilhar esses tutoriais, obrigado!


    Siga-me:
    Introdução à Função REGEXREPLACE