Como Extrair Texto Entre Delimitadores no Power Query

Para extrair texto entre delimitadores no Power Query, selecione a coluna, vá em Adicionar Coluna > Extrair > Texto entre Delimitadores, informe o Delimitador Inicial e o Delimitador Final e clique em OK — o Power Query cria uma nova coluna só com o trecho de texto que fica entre os dois delimitadores escolhidos, em todas as linhas de uma vez.

Você já teve uma coluna de texto no Power Query onde a informação que interessa fica no meio de uma string maior — um código entre colchetes, um nome de arquivo entre barras, um valor entre parênteses — e precisou extrair só esse pedaço, sem o texto em volta?

Sem uma transformação pronta para isso, a alternativa seria escrever uma coluna personalizada usando funções de texto da linguagem M combinadas manualmente, ou tentar resolver com Dividir Coluna em duas etapas separadas — mais trabalhoso e mais fácil de errar do que precisa ser.

Neste artigo iremos mostrar como usar o recurso Texto entre Delimitadores do Power Query, com um exemplo prático de extração de código de produto, e o que fazer quando o mesmo delimitador aparece mais de uma vez na mesma linha.

DOMINE EXCEL COMIGO

QUERO APRENDER EXCEL

Onde encontrar o recurso

Com a coluna de texto selecionada no Power Query, essa transformação aparece em dois lugares da faixa de opções, com uma diferença importante entre eles: em Adicionar Coluna > Extrair > Texto entre Delimitadores, o resultado vira uma coluna nova, mantendo a coluna original intacta ao lado. Em Transformar > Extrair > Texto entre Delimitadores, o Power Query substitui o conteúdo da própria coluna selecionada pelo texto extraído, sem manter o original. Na maioria dos casos vale usar o caminho de Adicionar Coluna, para poder conferir o resultado ao lado da informação original antes de decidir remover a coluna de origem.

Configurando os delimitadores

Ao clicar em Texto entre Delimitadores, uma janela pede dois campos: Delimitador Inicial (o texto ou caractere logo antes do trecho que você quer extrair) e Delimitador Final (o texto ou caractere logo depois). Por exemplo, para extrair o que está entre colchetes, digite [ no campo Delimitador Inicial e ] no campo Delimitador Final.

Exemplo prático: extraindo o código de produto

Imagine uma coluna de descrição de produto vinda de um sistema, onde o código do produto sempre aparece entre colchetes no início do texto.

Descrição original Texto entre Delimitadores ([ e ])
[COD-4521] Cadeira de escritório giratória COD-4521
[COD-1187] Mesa retangular 120×60 COD-1187
[COD-9902] Luminária de mesa LED COD-9902

Com o Delimitador Inicial definido como [ e o Delimitador Final como ], o Power Query cria a nova coluna já preenchida com só o código de cada linha, pronto para ser usado como chave de busca ou de agrupamento em outras etapas da consulta.

Quando o mesmo delimitador aparece mais de uma vez

Se o texto tem o delimitador repetido mais de uma vez na mesma linha (por exemplo, várias aberturas de parênteses), clique em Configurações avançadas, dentro da mesma janela, para definir qual ocorrência do delimitador inicial e final o Power Query deve considerar — a primeira, a última, ou uma posição específica contada a partir do início ou do fim do texto. Por padrão, sem mexer nessa configuração avançada, o Power Query usa a primeira ocorrência do delimitador inicial e a primeira ocorrência do delimitador final que aparecer depois dele.

Extraindo com base numa posição, e não num texto fixo

Nas mesmas Configurações avançadas, também é possível trocar o tipo de delimitador de “Texto” para Posição de caractere especial (início do texto, fim do texto), útil quando você quer extrair, por exemplo, tudo entre o início da string e o primeiro espaço, sem precisar saber de antemão qual caractere específico marca esse ponto.

A função M por trás da transformação

Assim como as demais transformações feitas pela interface, essa gera automaticamente uma etapa usando a função Text.BetweenDelimiters na linguagem M, visível em Exibir > Editor Avançado — mas o recurso existe justamente para você não precisar escrever essa função manualmente, bastando preencher os dois campos na janela.

Diferença para as funções de texto do Excel

Se o mesmo tipo de extração precisar ser feita numa planilha comum, sem passar pelo Power Query, o Excel moderno tem as funções TEXTOANTES e TEXTODEPOIS, que juntas conseguem um resultado parecido (combinando as duas, ou usando TEXTOANTES sobre o resultado de um TEXTODEPOIS). A diferença prática é que, no Power Query, a extração já fica embutida como uma etapa de tratamento de dados que se repete automaticamente a cada atualização da consulta, enquanto as fórmulas no Excel recalculam célula por célula, dentro da planilha já carregada.

Disponibilidade

O recurso Texto entre Delimitadores está disponível no Power Query do Excel 2016 em diante, incluindo Excel 365, e no Power BI Desktop. No Excel para a Web o Power Query já aceita transformações de texto básicas. O Google Sheets não tem um Power Query equivalente nativo, mas o mesmo resultado pode ser obtido combinando as funções LOCALIZAR e EXT.TEXTO.

Perguntas frequentes

Qual a diferença entre usar Texto entre Delimitadores em Adicionar Coluna ou em Transformar?

Em Adicionar Coluna, o resultado vira uma coluna nova, mantendo a coluna original ao lado. Em Transformar, o Power Query substitui o conteúdo da própria coluna selecionada pelo texto extraído, sem manter o original visível.

O que fazer se o delimitador aparecer mais de uma vez na mesma linha?

Abra as Configurações avançadas dentro da mesma janela e defina qual ocorrência do delimitador inicial e final deve ser considerada — por padrão, o Power Query usa a primeira ocorrência de cada um.

Existe uma função equivalente no Excel, fora do Power Query?

Sim, combinando as funções TEXTOANTES e TEXTODEPOIS (ou LOCALIZAR e EXT.TEXTO em versões mais antigas) é possível extrair um trecho entre dois delimitadores direto numa fórmula de planilha, sem passar pelo Power Query.

Veja também: TEXTOANTES e TEXTODEPOIS no Excel: Como Extrair Texto Sem Fórmulas Complicadas e Texto para Colunas no Excel: Como Separar Dados que Vieram Todos Juntos.

Compartilhe ou Comente

Se você curtiu esse artigo aonde mostramos como extrair texto entre delimitadores no Power Query usando o recurso Texto entre Delimitadores, sem escrever nenhuma função manualmente, 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á precisou extrair um código, uma sigla ou um trecho específico de dentro de um texto maior no Power Query? Prefere resolver isso direto na importação com Power Query, ou com fórmula já dentro da planilha? Conta para nós nos comentários!

Deixe um comentário

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