Remover Duplicados, mas a 1ª ocorrência, não a 2ª!
Neste novo artigo, vou mostrar-te como podes remover não a última ocorrência, mas sim a primeira ocorrência do valor duplicado, no Microsoft Excel. Vamos lá?
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, e se pretendermos 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!
Não percas aqui o cenário de exemplo que partilho contigo, assim como o processo passo a passo. Não te esqueças de fazer o download do ficheiro base e, se tiveres alguma dúvida, envia-nos a uma mensagem... ficamos à tua espera!
Faça aqui o download dos seus ficheiros de apoio!
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!
Outros conteúdos relevantes:
Microsoft Excel - Como proteger todas as folhas com um só clique?
Partilho consigo uma forma de proteger todas as folhas, no Microsoft Excel, em um só clique, através de uma rotina em VBA, que pode usar em qualquer ficheiro.
Como deves proteger células no Microsoft Excel?
Neste novo vídeo que partilho contigo, vou mostrar-te duas hipóteses que podes usar para bloquear ou restringir o acesso às tuas folhas do Microsoft Excel.