Reconciliação de Dados
Como Reconciliar Duas Exportações de Clientes ou SKUs por ID: Um Fluxo de Trabalho Prático
Aprenda um fluxo de trabalho para reconciliar exportações de clientes, SKUs, inventário ou contas por ID. Abrange normalização, duplicatas, registros ausentes, alterações e evidências de auditoria.
Reconciliar duas exportações de registros de clientes, listas de SKUs, contagens de inventário ou dados de contas é uma tarefa comum após uma migração de dados, atualização de sistema ou auditoria periódica. O desafio principal é comparar de forma confiável dois instantâneos (Origem e Destino) usando um ID único para identificar registros ausentes, novas entradas e campos alterados. Sem um fluxo de trabalho estruturado, você corre o risco de interpretação incorreta, discrepâncias não percebidas e horas de verificação manual.
Este guia apresenta um processo sistemático que funciona em softwares de planilha, bancos de dados SQL e ferramentas leves baseadas em navegador. Os princípios se aplicam independentemente de seus IDs serem IDs de Cliente, SKUs de Produto, Números de Pedido ou Códigos de Conta. O objetivo é produzir evidências claras do que mudou, do que está faltando e do que corresponde perfeitamente, para que você possa agir com confiança sem sair do seu ambiente de dados.
O fluxo de trabalho cobre a normalização de cabeçalhos, detecção de IDs duplicados, localização de registros ausentes de cada lado, identificação de alterações em registros correspondentes, construção de um registro de auditoria e validação do resultado com estatísticas básicas. Cada etapa inclui exemplos práticos, armadilhas comuns e técnicas de verificação para garantir que sua reconciliação seja precisa e auditável.
1. Prepare Suas Exportações: Normalização e Alinhamento de Cabeçalhos
Antes de comparar registros, identifique a coluna chave em cada exportação e torne sua representação consistente. Os nomes dos cabeçalhos não precisam ser idênticos para uma comparação simples de pertinência de valor, mas você deve saber qual coluna contém o mesmo tipo de ID em ambos os lados.
Normalize espaços à esquerda e à direita, maiúsculas/minúsculas quando apropriado, IDs em branco e tipos de dados. Preserve identificadores como 00123 como texto. Colunas descritivas extras podem permanecer nos arquivos de origem, mas copie apenas as duas colunas de ID para uma etapa focada de comparação de colunas.
Não execute um comando de trim por linha sobre um arquivo CSV entre aspas: campos entre aspas podem conter delimitadores ou quebras de linha. Use uma importação de planilha, Power Query ou um analisador CSV real para arquivos estruturados.
- Abra ambas as exportações em uma planilha ou editor de texto.
- Padronize os cabeçalhos das colunas: mesmos nomes, mesma capitalização, sem espaços extras.
- Exclua quaisquer colunas temporárias ou irrelevantes que não façam parte da comparação.
- Garanta que a coluna de ID (ex.: CustomerID, SKU) esteja formatada como texto para evitar problemas de arredondamento numérico.
- Limpe os dados usando =TRIM() ou um limpador de lista para remover espaços extras.
=TRIM(A2)2. Identifique e Trate IDs Duplicados
IDs duplicados em qualquer uma das exportações podem tornar ambígua uma reconciliação um-para-um. Uma pesquisa pode relatar que um ID existe enquanto esconde o fato de que aparece duas vezes em um lado e uma vez no outro.
Audite IDs duplicados antes da comparação. Não exclua automaticamente registros inteiros apenas porque o ID se repete: várias linhas podem ser legítimas, como vários pedidos para um cliente. Resolva a regra de negócio, adicione um subidentificador quando necessário e registre qualquer decisão de consolidação.
- Conte o total de linhas em cada arquivo.
- Selecione a coluna de ID e execute uma verificação de duplicatas (ex.: =COUNTIF(intervalo, B2)>1).
- Registre a contagem de duplicatas e decida se deve manter a primeira ocorrência ou sinalizar para revisão manual.
- Remova ou consolide duplicatas para criar uma lista de IDs únicos limpa para cada exportação.
- Dica: No Excel, tabelas dinâmicas podem listar rapidamente IDs duplicados junto com suas contagens.
- Cuidado: Se seu arquivo tiver IDs duplicados legítimos com dados diferentes (ex.: vários pedidos para o mesmo cliente), você deve tratá-los como registros separados; considere adicionar um subidentificador único.
SELECT CustomerID, COUNT(*) FROM Source GROUP BY CustomerID HAVING COUNT(*) > 1;=IF(COUNTIF($B$2:$B$1000, B2)>1, "Duplicate", "Unique")3. Compare a Pertinência do ID em Ambas as Direções
Com as colunas de ID normalizadas, identifique chaves que existem apenas na Origem e chaves que existem apenas no Destino. Esta é uma comparação de pertinência bidirecional, semelhante às porções de anti-join de um full outer join.
No Excel, use XLOOKUP, VLOOKUP, MATCH ou Power Query. No CompareTwoLists, cole as duas colunas de ID extraídas em Compare Two Columns e revise correspondências, valores apenas no primeiro, valores apenas no segundo ou a união. A ferramenta compara valores; ela não mescla registros completos ou mapeia cabeçalhos.
Depois de encontrar IDs ausentes, retorne às exportações originais para recuperar e revisar os registros completos correspondentes.
- Crie uma nova coluna na Origem chamada 'No_Destino' e use VLOOKUP para verificar se cada ID existe no Destino.
- Da mesma forma, verifique os IDs do Destino em relação à Origem.
- Filtre cada lista para IDs ausentes e exporte como relatórios separados de registros ausentes.
- Revise os registros ausentes: são diferenças legítimas ou anomalias? Documente as descobertas.
=IF(ISNA(VLOOKUP(A2, Target!$A$2:$A$5000, 1, FALSE)), "Missing in Target", "Present")SELECT s.* FROM Source s LEFT JOIN Target t ON s.CustomerID = t.CustomerID WHERE t.CustomerID IS NULL;SELECT t.* FROM Target t LEFT JOIN Source s ON t.CustomerID = s.CustomerID WHERE s.CustomerID IS NULL;4. Detecte Registros Alterados
Após identificar IDs presentes em ambas as exportações, compare os campos que importam para cada registro correspondente, como status do cliente, descrição do produto, preço ou quantidade de inventário. Normalize o tipo de dados de cada campo e decida como tratar espaços em branco, maiúsculas/minúsculas, datas e tolerância numérica antes de compará-lo.
Use uma junção no Excel ou Google Sheets, mesclagem no Power Query, JOIN no SQL ou mesclagem no dataframe para alinhar registros completos por ID. A ferramenta Compare Columns do CompareTwoLists é útil para as duas listas de ID extraídas, mas ela não une registros completos ou compara todos os campos de um CSV automaticamente.
- Crie uma lista combinada de IDs que estão presentes em ambas as exportações (usando os resultados do passo 3).
- Para cada linha, compare campo por campo usando IF(SourceField=TargetField, "Match", "Diff") ou uma fórmula de matriz.
- Opcionalmente, concatene todos os campos chave e calcule um hash para verificar a equivalência em uma única célula.
- Extraia linhas que tenham pelo menos uma diferença de campo em um relatório 'Alterações'.
- Ao comparar valores numéricos, cuidado com diferenças de precisão ou formatação (ex.: 10,00 vs 10). Converta ambos para um tipo consistente.
- Para arquivos grandes com muitas colunas, foque nas colunas que são críticas para sua lógica de negócio; exclua campos irrelevantes como timestamps que sempre serão diferentes.
=IF(D2=E2, "", "DIFF")SELECT s.CustomerID, s.CustomerName AS SourceName, t.CustomerName AS TargetName FROM Source s INNER JOIN Target t ON s.CustomerID = t.CustomerID WHERE s.CustomerName <> t.CustomerName OR (s.CustomerName IS NULL AND t.CustomerName IS NOT NULL) OR (s.CustomerName IS NOT NULL AND t.CustomerName IS NULL);5. Construa Evidência de Auditoria: Crie um Registro de Alterações
Depois de saber quais campos mudaram para quais IDs, crie um registro de alterações auditável com o ID do registro, nome do campo, valor de origem, valor de destino, status e notas de revisão. Este relatório estruturado dá aos revisores evidências que eles podem filtrar, anotar e aprovar.
Construa o registro com fórmulas de planilha, Power Query, SQL ou um fluxo de trabalho com dataframe após os registros serem unidos por ID. A saída da comparação de listas pode apoiar a parte de IDs ausentes da auditoria, mas um registro completo de alterações em nível de campo deve vir de uma comparação de dados estruturados.
- Para cada ID que tem alterações, crie uma linha por campo alterado.
- Preencha colunas: RecordID, FieldName, SourceValue, TargetValue, Status.
- Use formatação condicional para destacar diferenças (ex.: vermelho para discrepâncias).
- Adicione uma folha de resumo que mostre contagens de correspondências, alterações, ausentes de cada lado.
- Um registro de auditoria pode ser importado diretamente em ferramentas de gerenciamento de projetos para itens de ação.
- Mantenha uma folha separada para documentar suposições (ex.: 'Diferenças de timestamp ignoradas').
- Sempre inclua uma linha de cabeçalho e garanta timestamps para cada execução de auditoria.
=IF(Sheet1!D2<>Sheet2!D2, "Changed", "")6. Valide com Estatísticas de Lista
Finalize com verificações de contagem. Após normalização e revisão de duplicatas, compare o total de linhas, IDs não vazios, IDs únicos, grupos de duplicatas e IDs em branco em cada lado. Esses totais ajudam a revelar um filtro perdido ou uma remoção acidental de duplicata.
A ferramenta List Statistics relata contagens de linhas, linhas não vazias, valores únicos, grupos de duplicatas, linhas em branco e comprimento médio do texto. Somas numéricas e reconciliação em nível de campo ainda pertencem ao Excel, SQL ou outra ferramenta de dados estruturados.
- Registre totais, não vazios, únicos, grupos de duplicatas e contagens em branco para cada lista de ID.
- Confirme que correspondidos mais IDs únicos apenas na origem é igual à contagem de IDs únicos da origem.
- Confirme que correspondidos mais IDs únicos apenas no destino é igual à contagem de IDs únicos do destino.
- Investigue toda diferença inexplicada antes da aprovação.
- Use COUNT, COUNT(DISTINCT ...) e GROUP BY no SQL para verificações no banco de dados.
- Use somas de planilha separadamente quando totais numéricos também precisarem ser reconciliados.
=COUNTIF(K:K, "Match")SELECT 'SourceCount' AS Metric, COUNT(*) AS Value FROM Source UNION ALL SELECT 'TargetCount', COUNT(*) FROM Target UNION ALL SELECT 'Matched', COUNT(*) FROM Source s INNER JOIN Target t ON s.ID = t.ID;7. Revisão Segura e Aprovação
O passo final é ter uma segunda pessoa ou uma ferramenta independente revisando a reconciliação para completude e precisão. Isso reduz o risco de viés de confirmação. Revise a lista de registros ausentes — são todas exclusões válidas? Verifique por amostragem uma parte dos registros alterados para garantir que a lógica de comparação de campo estava livre de erros. Para reconciliações de alto risco, considere inverter a ordem (trocar Origem e Destino) para ver se as mesmas diferenças são relatadas.
Crie uma folha de aprovação que capture a data, nome do revisor, número total de diferenças (por categoria) e quaisquer exceções. O objetivo é ter um relatório de qualidade de decisão que permita aos gerentes aprovar com confiança o próximo passo (ex.: recarga de dados, correção de discrepância).
- Prepare um relatório de resumo de reconciliação com métricas chave: total de registros de cada lado, correspondidos, não correspondidos, alterados, inalterados.
- Peça a um colega para ser um segundo revisor; peça a eles para repetir a comparação usando um método diferente (ex.: verificação manual de uma amostra aleatória).
- Documente quaisquer limitações conhecidas, como colunas excluídas ou decisões de correspondência aproximada.
- Armazene o relatório final junto com as exportações brutas para referência futura.
- Use controle de versão para as exportações: nomeie os arquivos com datas e sufixos como _origem-v1, _destino-v2.
- Se a reconciliação falhar nas verificações iniciais, retorne ao passo 1 e refine a normalização ou o tratamento de duplicatas.
Conclusão
Reconciliar duas exportações de dados por ID não precisa ser uma caixa preta tediosa. Seguindo um fluxo de trabalho estruturado — normalização, tratamento de duplicatas, detecção de registros ausentes, identificação de alterações, registro de auditoria e validação — você pode produzir uma comparação transparente e defensável que destaca exatamente o que mudou e por quê. Cada etapa pode ser executada em ferramentas familiares de planilha ou com utilitários de comparação especializados, dependendo da sua escala e conforto.
Lembre-se sempre de documentar suas suposições, manter as exportações originais intactas e envolver um segundo revisor para reconciliações críticas. A disciplina de uma abordagem metódica evitará que você negligencie erros que poderiam se propagar em relatórios corrompidos ou integrações falhas. Com a prática, este fluxo de trabalho se torna um modelo reutilizável que traz clareza e confiança a qualquer tarefa de comparação de dados.