(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Como extrair linhas duplicadas em Excel com Power Automate: passo a passo

João Barros 31 de July de 2026 4 min de leitura

Este tutorial mostra como criar um fluxo no Power Automate que lê um ficheiro Excel, identifica linhas duplicadas com base em colunas escolhidas e grava essas linhas num novo ficheiro para revisão. É útil para limpar bases de dados, evitar entradas repetidas e automatizar auditorias de dados.

Pré-requisitos

  • Conta Microsoft com acesso ao Power Automate
  • Ficheiro Excel guardado no OneDrive for Business ou SharePoint (tabela nomeada)
  • Conhecimentos básicos de Power Automate (criar fluxo, ações padrão)

Passo 1: Preparar o ficheiro Excel

Abra o Excel e assegure-se de que os dados estão numa Tabela (Home > Format as Table). Anote o nome da Tabela (ex.: Table1) e escolha as colunas que definem duplicação (ex.: Email, Nome).

Passo 2: Criar um fluxo automatizado

No Power Automate, crie um novo fluxo automatizado (Instant cloud flow) com um trigger manual (Manually trigger a flow) para testar interactivamente. Isto facilita a depuração antes de agendar ou ligar a um trigger automático.

Passo 3: Obter linhas da tabela Excel

Adicione a ação List rows present in a table (conector Excel Online (Business)). Configure o ficheiro e a Tabela. Se houver muitos registos, ative a paginação em Settings e aumente o threshold.

Passo 4: Agrupar e identificar duplicados

Usaremos uma combinação de ações: Compose para criar uma chave de comparação e depois Filter array para encontrar duplicados. Primeiro, adicione uma ação Apply to each que itera sobre o output de List rows. Dentro, crie um objecto com a chave concatenada.

// Exemplo de expressão para chave (concatena Email e Nome, ajustável): concat(item()?['Email'],'|',item()?['Nome']) 

Em vez de guardar em variáveis complexas, vamos criar um array com todas as chaves e depois usar union e length para detectar duplicados.

Passo 5: Construir array de chaves e detectar repetidos

1) Adicione uma ação Initialize variable (Array) chamada allKeys. 2) Dentro do Apply to each, adicione Append to array variable com o valor da expressão da chave. Depois do Apply to each, adicione um Compose para calcular as chaves únicas:

// Compose UniqueKeys union(variables('allKeys'), variables('allKeys')) 

3) Para identificar quais chaves têm duplicados, percorra UniqueKeys com um Apply to each e use Filter array em allKeys para contar ocorrências:

// Filter array condição para corresponder à chave actual item() == items('Apply_to_each_CurrentKey') 

Depois use um Compose com length(body('Filter_array')) para obter o número de ocorrências. Se for >1, a chave representa duplicados.

Passo 6: Extrair linhas duplicadas completas

Agora que tem as chaves duplicadas, filtre as linhas originais do Excel para devolver apenas as linhas cuja chave está na lista de chaves duplicadas. Use um Filter array onde cada elemento de List rows é transformado na mesma chave e verificado com contains na colecção de duplicatedKeys.

// Exemplo de condição no Filter array contains(variables('duplicatedKeys'), concat(item()?['Email'],'|',item()?['Nome'])) 

O resultado deste Filter array será a lista de linhas duplicadas com todos os campos originais.

Passo 7: Guardar os duplicados num novo ficheiro Excel ou CSV

Para revisão, escreva os resultados num novo ficheiro. Pode criar um ficheiro Excel com uma Tabela vazia previamente, ou gerar um CSV. Para CSV, use a ação Create file (OneDrive for Business) e construa o conteúdo concatenando cabeçalhos e linhas.

// Exemplo simples de construir linha CSV dentro de um Apply to each concat(item()?['Nome'],',',item()?['Email'],',',item()?['Data']) 

Para Excel, use a ação Add a row into a table dentro de um Apply to each sobre as linhas duplicadas, mapeando colunas uma a uma.

Verificar o resultado

Abra o ficheiro de saída (CSV ou Excel) e confirme que contém apenas as linhas que aparecem mais de uma vez com base nas colunas escolhidas. Verifique também os contadores no fluxo (Outputs das ações Compose) para confirmar que o número de duplicados corresponde ao esperado. Se faltarem linhas, confirme a expressão de chave e se há espaços ou diferenças de maiúsculas/minúsculas (usar toLower para normalizar).

Conclusão

Este fluxo permite identificar e extrair linhas duplicadas em Excel com o Power Automate, facilitando a limpeza e revisão de dados. Próximos passos: automatizar o trigger (ex.: quando um ficheiro é actualizado), enviar um email com o ficheiro de duplicados ou estender a lógica para regras fuzzy (ex.: uso de similarity). Dica: normalize strings com trim() e toLower() para reduzir falsos negativos.