Como interromper a formatação automática do Excel e fazê-lo funcionar como um programa de processamento de números

19

Eu tenho um problema real com o Excel em arquivos csv, onde ele está formatando números de determinadas maneiras e não consigo fazer com que o Excel exiba os dados corretamente, não importa o que eu faça.

Imagine que eu tenho uma coluna chamada "Referência do produto". Dentro dessa coluna, tenho muitos IDs do tipo:

  • 001145
  • 55666
  • 02133

Sempre que abro o arquivo do Excel, ele formata esses números para:

  • 1145
  • 55666
  • 2133

O que é totalmente errado. Quando destaco a coluna e a formato como texto, os 0s anteriores no início dos números não retornam.

Em uma tentativa de resolver isso, eu até fiz o arquivo csv um arquivo de texto primeiro e depois importei o arquivo para o Excel e disse-lhe especificamente para não formatar os números, tornando-o formato de texto na importação, mas ele ainda formata os números incorretos quando fecho e abra-o novamente devido ao fato de o csv não poder definir tipos, para que o Excel salve automaticamente o arquivo como lixo puro.

Alguém encontrou uma maneira de contornar isso e poderia me ajudar?

Obrigado,

Sammaye
fonte
Até onde eu sei, a única maneira de fazer o Excel renderizar fielmente um CSV é importá-lo como texto, da maneira que você descreveu.
Excellll
Você não precisa tornar o CSV um arquivo de texto. O recurso Importar de arquivo de texto também funciona para arquivos CSV. Você apenas precisa especificar que possui delimitadores de vírgula.
Excellll

Respostas:

19

Você precisa especificar no arquivo csv que é texto. Você faz isso colocando seu número entre aspas e precedido por um sinal de igual, por exemplo:

="001145",="55666",="02133"

A maneira mais fácil de fazer isso seria fazer um achado-substitui no ,com ",=", substituindo final das linhas (você pode precisar usar um editor avançado como o Notepad ++ para isso) com "\r\n="e fazer o início eo fim do arquivo manualmente.

James
fonte
Nice :) Vou tentar dar um presente e relatório de volta
Sammaye
11
  1. Altere a extensão do arquivo de ".csv" para ".txt" no arquivo com o qual está tendo problemas.
  2. Abra o Excel por si só. Não clique no arquivo para abri-lo.
  3. Clique em "Abrir", altere os tipos de arquivo para procurar de "Todos os arquivos do Excel" para "Todos os arquivos"
  4. Encontre seu arquivo e clique em Abrir. Como o Excel não formata automaticamente o txt, ele o guiará pelo assistente.
  5. Garante que o botão de opção "Delimitado" esteja selecionado. Clique no botão "próximo".
  6. Marque a caixa delimitadora "vírgula" e continue pressionando o botão "próximo" até VER (mas não clicar nele) o botão Concluir.
  7. role por cada coluna da planilha, destaque cada coluna que deseja formatar manualmente e altere o formato para "texto".
  8. Clique no botão Concluir.
John
fonte
Essa é uma maneira boa e sem complicações de resolver o problema.
19415 Jack
Você salvou meu dia!
dinesh ygv 07/12/2015
2

Instale o OpenOffice da Oracle e faça o mesmo com o formato CSV do OpenOffice e ele funciona.

Eu tive esse problema no Windows 7 Pro com Excel 2010. Eu costumava copiar contatos do Outlook para o Excel, salvar como CSV e importar para o Gmail e Android (os números de celular com zeros à esquerda e sinais de +).

gabbymonster
fonte
1

Clique com o botão direito do mouse nas células que contêm seus dados e clique na entrada de menu Formatar células .... Em seguida, na primeira guia ("Número"), altere a categoria de Geral para Texto . Isso impedirá o Excel de formatar automaticamente essas células como números e, assim, remover os zeros iniciais (que não fazem sentido no contexto da análise numérica, mas são muito significativos ao lidar com IDs de produtos).

Se os dados estiverem sendo importados e analisados ​​como números, você precisará usar o assistente de Importação de Dados e definir cada tipo de coluna como "Texto" em vez de "Geral". Em seguida, faça o mesmo com as células e salve sua pasta de trabalho do Excel.

Avanço
fonte
Arquivos CSV não mantêm a formatação. Isso não vai ajudar.
Excellll
@Excellll obviamente, é apenas um monte de caracteres ASCII separados por vírgula. Por padrão , o Excel marca os formatos de célula como Geral e tenta interpretar o valor (números, datas, qualquer coisa) para que possa ser usado com fórmulas (como o texto sem formatação normalmente não pode). Você precisa dizer manualmente ao Excel para interpretar o valor como texto sem formatação, para que ele não seja convertido automaticamente.
Breakthrough
Sim funcionaria se Excel não "auto-save" a formatação de campos :( Eu preciso Excel para agir da mesma forma que qualquer outro abridor de CSV / Linguagem de programação.
Sammaye
Eu tentei isso, o Excel volta ao padrão quando você abre o arquivo convertido do Excel. Então eu importo do TXT para o Excel e o digo para que seja exibido como texto, feche o arquivo e o abra e o Excel retornará ao formato de número para os campos que escondem seu valor verdadeiro e estou de volta ao primeiro.
Sammaye
@ Breakthrough, desculpe, eu não expressei o que eu quis dizer. Como você disse em seu comentário, quando um CSV é aberto no Excel, o Excel aplicará a formatação geral a todos os dados. Neste ponto, o texto (ou seja, zeros à esquerda) que é realmente salvo no arquivo CSV não pode ser recuperado pelo Excel. O ponto é que, depois de abrir o CSV no Excel, é tarde demais para alterar a formatação.
Excellll 31/08/11
1

clique na célula na qual deseja manter os zeros à esquerda: clique com o botão direito do mouse> Formatar células> personalizado> 0> digite o número total que precisa estar na célula, como: Se eu precisar de 00001234, colocarei 00000000 como o número de zero, tudo o que ele está dizendo para fazer é colocar um número total de 8 na célula, eu já tenho 1234, então isso compensará a diferença com mais 4 zeros à esquerda.

Eu uso isso diariamente para importar planilhas.

Adão
fonte
0

Para adicionar à resposta de @ Jon dessa pergunta, eu tinha um arquivo CSV que possuía várias colunas com zeros à esquerda e números mais longos que perderiam o zero à esquerda ou converteriam o número longo em notação científica, ou ambos, quando importados.

A única maneira de corrigir isso foi formatar primeiro todas as células da planilha vazia Text, usando as seguintes etapas:

  1. Selecione todas as células na planilha:

insira a descrição da imagem aqui

  1. Mude o formato de cada célula:

insira a descrição da imagem aqui

Depois de formatar todas as células da planilha Text, eu poderia importar o CSV usando as seguintes etapas:

  1. Na Dataguia, clique em From Text:

insira a descrição da imagem aqui

  1. Selecione seu arquivo .txtou .csve clique emImport

  2. Selecione Delimitede clique em `Próximo:

insira a descrição da imagem aqui

  1. Selecione o delimitador apropriado (eu escolhi Comma) e desmarque os outros que não se aplicam e clique em Next:

insira a descrição da imagem aqui

  1. Role para a direita para encontrar a (s) coluna (s) que precisam ser formatadas Textpara reter os zeros à esquerda e impedir a notação científica. Clique na coluna (ela deve escurecer) e selecione Textna lista de opções. Certifique-se de selecionar todas as colunas que precisam ser formatadas corretamente:

insira a descrição da imagem aqui

  1. Depois clique Finish. Se você rolar para as colunas que formatou, verá que todos os zeros à esquerda são retidos e que longas seqüências de números não estão em notação científica.

Espero que ajude!

Michael
fonte
0

Se os dados foram gerados usando SQL. Anexar um caractere de tabulação ao valor numérico que precisa ser impedido de truncar deve funcionar.

-- Oracle PL/SQL
select "01234567890123456" || chr(9) from dual;
Leo
fonte