O Problema: Meus números decimais sumiram!
Você já passou por esta situação frustrante? Você exporta um relatório do sistema em formato .txt ou .csv. Ao abri-lo no Bloco de Notas, você vê que os números estão corretos, com todas as casas decimais (por exemplo, 8,181034).
Mas, ao abrir este mesmo arquivo no Excel, o número magicamente vira 8? O Excel parece “comer” ou “arredondar” todos os seus decimais.
O mais confuso é que, às vezes, você abre outro arquivo muito parecido, e ele funciona perfeitamente!
A boa notícia é que o problema não é no arquivo, mas sim na forma como o Excel tenta “adivinhar” o formato dos seus dados. E a solução é simples e definitiva.
O “Porquê”: O Mistério dos Arquivos (Quase) Idênticos
Quando você dá um clique duplo em um arquivo .txt ou .csv, o Excel não lê o arquivo inteiro. Ele dá uma “espiada” rápida nas primeiras linhas para tentar adivinhar o tipo de dado de cada coluna (texto, data ou número).
E é exatamente aí que o erro acontece.
Cenário 1: O Arquivo que “Quebra” (O Excel erra a adivinhação)
Imagine que seu relatório, nas primeiras linhas, só tenha números inteiros nas colunas de valor (como 0, 776, 34):
SEQPRODUTO;...;QTDCONTADA;...;CUSBRUTOUNIT
29451;...;0;...;776
29453;...;0;...;0
35640;...;20;...;28
22796;...;5;...;15
40947;...;34;...;8,181034 <-- PROBLEMA AQUI
Ao “espiar” as primeiras linhas, o Excel vê 776, 0, 28, 15. Com base nisso, ele “decide”: “Ah, esta coluna CUSBRUTOUNIT é de Números Inteiros.”
Quando ele finalmente chega na linha que contém 8,181034, já é tarde demais. Ele já “decidiu” que a coluna é de inteiros, então ele lê o 8, vê a vírgula (,) e simplesmente ignora todo o resto.
Cenário 2: O Arquivo que “Funciona” (O Excel acerta a adivinhação)
Agora, veja por que um arquivo diferente funciona. Logo na primeira linha de dados, ele tem um número decimal:
SEQPRODUTO;...;QTDCONTADA;...;CUSBRUTOUNIT
35640;...;20;...;28,880338 <-- SOLUÇÃO AQUI
22796;...;5;...;15,50
40947;...;34;...;8,181034
Ao “espiar” esta primeira linha, o Excel vê o 28,880338 e “aprende” imediatamente: “Opa! Estou vendo uma vírgula (,) sendo usada como separador decimal. Vou aplicar essa regra para a coluna inteira.”
Por isso, um arquivo funciona e o outro não.
A Solução: O Jeito Certo de Importar (Para Sempre)
Para garantir que o Excel sempre leia seus números corretamente, você não pode deixá-lo “adivinhar”. Você precisa dar a ordem de como ele deve ler os dados.
A Regra de Ouro é: Nunca abra um arquivo .txt ou .csv de dados dando dois cliques.
Siga estes passos:
- Abra uma planilha do Excel em branco.
- Vá até a aba (menu) Dados.
- No grupo “Obter e Transformar Dados”, clique em De Texto/CSV.(Sugestão: Insira aqui uma captura de tela mostrando o botão “De Texto/CSV” na aba Dados)
- Escolha o arquivo
.txtque estava dando problema e clique em Importar. - O Excel abrirá uma janela de pré-visualização. Você provavelmente verá os números errados (ex:
8em vez de8,181034). Não se preocupe e NÃO clique em “Carregar”. - Este é o passo mais importante: clique no botão Transformar Dados (ou “Editar”).(Sugestão: Insira aqui uma captura de tela da janela de importação, destacando o botão “Transformar Dados”)
- Você agora está no editor do Power Query. Na tabela, encontre e selecione as colunas que deveriam ter decimais (ex:
CUSBRUTOUNIT,VALORVLRNF,VALORABS). Você pode selecionar várias segurando a teclaCtrl. - Com as colunas selecionadas, vá na aba Página Inicial (ou Transformar), procure por Tipo de Dados. Provavelmente estará mostrando “Número Inteiro (123)” ou “Texto (ABC)”.
- Clique nesse botão e, no menu que aparece, escolha a opção Usando Localidade…(Sugestão: Insira aqui uma captura de tela mostrando o menu “Tipo de Dados” e a opção “Usando Localidade…”)
- Uma nova janela se abrirá. Configure-a exatamente assim:
- Tipo de Dados:
Número Decimal - Localidade:
Português (Brasil)(Isso diz ao Excel que.é milhar e,é decimal)
- Tipo de Dados:
- Clique em OK. Você verá, como mágica, os números com decimais aparecerem corretamente na pré-visualização.
- Agora, no canto superior esquerdo, clique no botão Fechar e Carregar.
Pronto! Seus dados serão carregados na planilha do Excel perfeitamente formatados, com todos os decimais intactos.
Teste Você Mesmo: Arquivos de Exemplo
Para ver isso acontecendo na prática, crie dois arquivos .csv no seu computador (pode copiar e colar no Bloco de Notas e salvar com os nomes abaixo).
1. arquivo_que_funciona.csv
(Este funcionará com clique duplo, pois o decimal está na primeira linha)
Code snippet
SEQPRODUTO;DESCGENERICA;QTDGERSISTEMA;QTDCONTADA;QTDDIVERGENCIA;CUSBRUTOUNIT
35640;SALMAO DEFUMADO;19;20;1;28,880338
22796;KANI KAMA;5;5;0;15,50
40947;OVOS CAIPIRA;36;34;-2;8,181034
10010;UVA VERDE;10;10;0;4,75
2. arquivo_que_quebra.csv
(Este vai “quebrar” com clique duplo, pois os decimais só aparecem depois dos inteiros)
Code snippet
SEQPRODUTO;DESCGENERICA;QTDGERSISTEMA;QTDCONTADA;QTDDIVERGENCIA;CUSBRUTOUNIT
29451;BALDE DETERGENTE;0;0;0;776
29453;BALDE AGENTE AZUL;0;0;0;0
35640;SALMAO DEFUMADO;19;20;1;28
22796;KANI KAMA;5;5;0;15
40947;OVOS CAIPIRA;36;34;-2;8,181034
10010;UVA VERDE;10;10;0;4,75
O Teste:
- Abra o
arquivo_que_funciona.csvcom um clique duplo. Veja que os decimais estão corretos. - Feche o Excel.
- Abra o
arquivo_que_quebra.csvcom um clique duplo. Veja que o valor8,181034virou8. - Agora, use o método do tutorial (Dados > De Texto/CSV > Transformar Dados > Usando Localidade…) para importar o
arquivo_que_quebra.csv. Veja como os números vêm perfeitos!