Inserir Zeros à Esquerda Usando Power Query

Neste artigo você aprenderá como inserir zeros à esquerda usando power query.

1. A inserção de zeros à esquerda no Excel

O artigo do link https://www.guiadoexcel.com.br/inserir-zeros-a-esquerda-de-numeros-no-excel-ou-exibir-zeros-a-esquerda/ apresenta algumas opções para inserirmos zeros à esquerda no Excel e o presente artigo apresenta algumas possibilidade adicionais, desta vez usando apenas o Power Query.

2. Métodos para inserir os zeros à esquerda

Um primeiro ponto a levar em consideração é o tipo dos dados originais aos quais desejamos inserir os zeros. Poderemos ter abordagens diferentes quando consideramos que podemos ter textos ou números.

2.1 Dados originais tipados como texto ou com característica de texto (tipo indefinido)

Se os dados estiverem tipados ou como característica de textos, uma concatenação simples já insere os zeros. Observe a imagem a seguir:

Inserir Zeros à Esquerda Usando Power Query 1

Embora os dados não possuam o tipo texto (ele apresenta tipo indefinido: veja o ícone ABC123), eles estão alinhados à esquerda. Isso implica dizer que será contemplado como texto. Já a imagem a seguir apresenta os mesmos dados, desta vez realmente tipados como textos (veja o ícone ABC):

Inserir Zeros à Esquerda Usando Power Query 2

Com base nos dados disponibilizados em qualquer destas duas apresentações, faremos duas abordagens: uma inicial para a colocação de uma quantidade específica de zeros e outra para uma quantidade automática, mais comum, usada para obter resultados sempre com uma mesma quantidade de caracteres.

a) Inserindo quantidade fixa de zeros à esquerda

Uma concatenação simples já resolve (usando o operador &), desde que sejam colocadas aspas nos zeros a serem inseridos, evitando um erro que seria concatenar diretamente um número (zero informado sem aspas) com os dados originais (textos).

A imagem a seguir mostra uma coluna personalizada (para inserir acesse a guia Adicionar Coluna > Coluna Personalizada) em que inserimos dois zeros à esquerda dos dados de uma certa coluna.

Inserir Zeros à Esquerda Usando Power Query 3

A fórmula inserida foi: = “00”&[Valor original]. A imagem a seguir apresenta o resultado obtido:

Inserir Zeros à Esquerda Usando Power Query 4

Caso seja conveniente (e geralmente é), a coluna original deverá ser removida.

Para este nosso problema o Power Query apresenta uma solução incrivelmente mais simples e sem uso de fórmula: o prefixo. Podemos facilmente adicionar prefixo e obter os mesmos resultados.

Com a coluna devidamente selecionada, acessamos a guia Transformar > Coluna de Texto > Formato > Adicionar Prefixo.

Inserir Zeros à Esquerda Usando Power Query 5

Na janela que será apresentada devemos inserir os zeros desejados e confirmar em Ok.

Inserir Zeros à Esquerda Usando Power Query 6

Isso é tudo. Vejamos o resultado na imagem a seguir.

Inserir Zeros à Esquerda Usando Power Query 7

A vantagem deste método é que não é criada uma coluna adicional, o que normalmente faz com que precisemos remover a coluna original, em seguida.

b) Inserindo quantidade variável (automática) de zeros à esquerda

Partindo dos mesmos dados originais, desejamos inserir zeros à esquerda para que os valores sempre tenham 5 caracteres (comprimento fixo). Desta forma, um valor que já possua 4 caracteres receberá apenas 1 zero à esquerda, um valor que já possua 2 caracteres receberá 3 zeros à esquerda e assim por diante, recebendo apenas a quantidade de zeros necessária para que se completem os 5 caracteres. Obviamente, se o valor possuir 5 caracteres ou mais, não receberá zeros à esquerda.

E para inserirmos zeros dinamicamente, teremos 2 abordagens: uma mais trabalhosa, que conta os caracteres já existentes e completa com os zeros faltantes, de acordo com a quantidade restante para completar 5 caracteres e outra, que é similar ao uso da função TEXTO (relembre aqui o uso da função TEXTO https://www.guiadoexcel.com.br/inserir-zeros-a-esquerda-de-numeros-no-excel-ou-exibir-zeros-a-esquerda/), sendo mais objetiva.

Opção 01 – Contando o número de caracteres e complementando com zeros

Esta abordagem conta o número de caracteres com a função Text.Length e usa a função Text.Repeat para gerar os zeros faltantes. A função if é usada de modo auxiliar, identificando quando é necessário inserir os zeros, visto que nem sempre isso será necessário.

A imagem a seguir ilustra a coluna personalizada adicionada e o resultado obtido.

Inserir Zeros à Esquerda Usando Power Query 8

A fórmula inserida foi: = if 5-Text.Length([Valor original])>0 then Text.Repeat(“0”,5-Text.Length([Valor original])) & [Valor original] else [Valor original]. Vale ressaltar que o zero escrito na fórmula deverá ser colocado entre aspas.

Opção 02 – Completando com zeros brevemente com a função Text.PadStart

Esta função simplifica bastante o trabalho é pode-se dizer que é a solução recomendada. Ela requer apenas 3 argumentos, na seguinte ordem: o valor original, que receberá zeros, o número de caracteres total desejado (5, em nosso caso) e os caracteres a serem colocados no início.

A imagem a seguir ilustra a coluna personalizada adicionada e o resultado obtido.

Inserir Zeros à Esquerda Usando Power Query 9

A fórmula inserida foi: = Text.PadStart([Valor original],5,”0″). Vale ressaltar que o zero escrito na fórmula deverá ser colocado entre aspas.

2.2 Dados originais tipados como número

Inicialmente podemos pensar em tipar os dados para texto. Com isso, caímos no contexto do item 2.1. Fica bem simples e fácil agirmos desta forma. No entanto, elencaremos neste tópico como proceder sem que seja necessária esta tipagem previamente.

a) Inserindo quantidade fixa de zeros à esquerda

Faremos praticamente o mesmo procedimento realizado no item a) do tópico 2.1. No entanto, teremos erro caso não tratemos o valor original na fórmula, para o tipo texto. Em relação à fórmula do item a) do tópico 2.1, usaremos como novidade a função Number.ToText, que converte os dados para texto diretamente na fórmula, evitando uma etapa adicional de alteração de tipo.

A imagem a seguir ilustra a obtenção de 2 zeros à esquerda (tal qual o item a) do tópico 2.1).

Inserir Zeros à Esquerda Usando Power Query 10

A fórmula inserida foi: = “00”&Number.ToText([Valor original]).

E a solução com prefixo: funciona? Resposta: sim. Mesmo com os dados tipados como número, a adição de prefixo funciona normalmente. Siga rigorosamente o mesmo procedimento apontado no item a) do tópico 2.1 para a adição de prefixo.

b) Inserindo quantidade variável (automática) de zeros à esquerda

Podemos usar basicamente as mesmas fórmulas elencadas no item b) do tópico 1, sempre convertendo nas fórmulas os valores para texto com a função Number.ToText.

Assim, as fórmulas respectivamente as Opções 01 e 02 do tópico 1 ficariam assim:

= if 5-Text.Length(Number.ToText([Valor original]))>0 then Text.Repeat(“0”,5-Text.Length(Number.ToText([Valor original]))) & Number.ToText([Valor original]) else Number.ToText([Valor original])

Inserir Zeros à Esquerda Usando Power Query 11

= Text.PadStart(Number.ToText([Valor original]),5,”0″)

Inserir Zeros à Esquerda Usando Power Query 12

Download Planilha Inserir Zeros à Esquerda Usando Power Query

Realize o download da planilha de cálculo de idade no Excel neste botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.

Baixe a planilha


Jardiel Euflázio

Administrador, MOS e MOSE em MS Excel, Jardiel é também MCT e desenvolvedor de soluções baseadas na ferramenta. Apaixonado pelo Excel desde cedo, é criador de conteúdo em seu canal de vídeos aberto ao público no YouTube (Jardiel Euflázio - Excel Prime), no qual trata sobre o tema sempre disposto a colaborar com a comunidade.

Excel não precisa ser complicado

Assine nossa newsletter e receba dicas práticas para dominar o excel