Como Remover Duplicados com Power Query no Excel

Remover duplicados é uma das tarefas mais habituais que podemos realizar no Microsoft Excel. A ferramenta é muito simples e praticamente automática. Contudo quando removemos duplicados, seja baseando-nos numa coluna ou em todas as colunas, o que acontece é que removemos sempre a última ocorrência do valor duplicado, pois a lógica de leitura dos dados é sempre de cima para baixo ou da esquerda para a direita.

Então se pretendemos remover não a última ocorrência, mas sim a primeira ocorrência do valor duplicado, como devemos proceder?

É simples! Existe uma ferramenta no Excel, dentro do Power Query que nos ajuda a resolver esta questão em apenas um par de passos!

Associar a tabela ao Power Query

Para realizarmos a remoção dos duplicados vamos utilizar o comando, dentro do Power Query, que funciona de uma forma semelhante ao comando no Excel, ou seja, remove os duplicados para a coluna ou colunas selecionadas.

Neste caso a nossa tabela já existe no Excel, o que significa que no cenário, iremos ter 2 tabelas, a original e a nova tabela retornada pelo Power Query depois de efetuada a alteração, o que faz sentido para podermos comparar ambas as tabelas. Contudo toma nota que podes fazer a ligação ao ficheiro da tabela original, importá-lo para um novo documento e assim terás apenas a tabela resultante, com as transformações efetuadas, neste caso os duplicados removidos. Assim irei demonstrar-te por imagens os 2 cenários, embora o que iremos utilizar será através da tabela no Excel.

Importar a tabela do Excel para o Power Query

Para importar a tabela existente para o Power Query utilizas a opção Dados [Data] > De Tabela / Intervalo [From Table / Range]

Importar o livro de Excel para o Power Query

Para importar a tabela através de outro livro, utilizas a opção Dados [Data] > De Tabela / Obter Dados [Get Data] > De Ficheiro [From File] > A partir do Livro [From Workbook].

Em qualquer um dos casos o método de transformação é o mesmo.

Como referido no cenário iremos utilizar a primeira opção.

O intervalo é convertido em tabela, caso ainda não o esteja.

E de seguida entramos no Editor do Power Query…

Se repararmos na Tabela, temos apenas o valor da quantidade diferente nas linhas repetidas, o que significa que na verdade o registo (todos os dados da linha) não é repetido, para ser um registo duplicado teria de ter os valores iguais em todas as colunas da tabela. Este cenário pode ser comum, quando alguém preenche um determinado conjunto de dados, e não tem a possibilidade de os editar, apenas acrescentar novos dados.

Isto significa que, apenas vamos avaliar o valor duplicado na coluna ID Transação. Mas neste cenário, como no Excel, o valor removido é apenas o valor da linha nº 6 e não o da linha 4. Assumindo que no cenário, o último valor é o que conta, devemos conseguir remover o valor da linha 4 e não da linha 6.

Inverter a ordem das linhas no Power Query

Para podermos atingir o objetivo da transformação apenas temos de inverter a ordem das linhas. Atenção que esta lógica não é a mesma que uma simples ordenação de dados, uma vez que ao ordenar os dados estamos a definir um critério para ordenar. Neste caso estamos literalmente a inverter a ordem da tabela (virá-la de pernas para o ar).

A opção encontra-se no menu Transformar [Transform] e no botão Inverter Linhas [Reverse Rows].

Se repararmos agora na Tabela, os valores estão na ordem inversa. Isto significa que seguindo a lógica da remoção de duplicados, os mesmos vão ser removidos, contanto de cima para baixo.

Ou seja, a linha com a quantidade “198” é que será removida, e mantemos a linha com a quantidade “201” que é o pretendido.

No Separador Base [Home] encontramos o Botão Remover Linhas [Remove Rows] onde podemos escolher a opção Remover Duplicados [Remove Duplicates].

Mas não podemos carregar já os dados para o Excel. Para terminarmos o procedimento, devemos voltar a inverter a linhas novamente, este passo é muito importante!

Voltando a reverter as linhas, a tabela volta ao seu estado normal, com a ordem correta das linhas.

Assim o último passo será voltar ao menu Transformar [Transform] e no botão Inverter Linhas [Reverse Rows].

Como podemos ver nos passos aplicados, temos 2 vezes a transformação efetuada. Pelo meio, temos o passo que permite remover os duplicados.

Agora finalizamos carregando os dados para o Excel.

E carregamos a tabela transformada para uma nova folha ou para a folha existente.

Neste caso temos ambas as versões da tabela (Original e Transformada) para podermos confirmar que os valores removidos estão corretos. Agora que sabes como remover os registos duplicados, mantendo a última ocorrência, podes utilizar este cenário quando precisares!


Comentários

Leave a Reply

Discover more from Exceldriven

Subscribe now to keep reading and get access to the full archive.

Continue reading