por que uma coluna do Excel formatada como número perde seu zero à esquerda quando a coluna é formatada como texto?

8

Eu tenho que exportar uma planilha para o CSV. Uma das colunas é um código postal com códigos postais da costa leste que têm um zero à esquerda. Quando eu reformatar essa coluna como Texto na esperança de preservar o zero à exportação, imediatamente a coluna passa da justificação à direita justificada à esquerda e o zero à esquerda desaparece! Eu esperaria exatamente o oposto, que poderia perder o zero se reformatado de texto para número.

Como preservo esse zero inicial?

    
por mrblint 20.12.2012 / 17:00

3 respostas

6

Teoria

O Excel tem duas noções diferentes e não relacionadas quando se trata de dados nas células: valor bruto / armazenado e valor de exibição .

O valor "bruto" ou armazenado é o dado real em uma representação não formatada. O tipo dos dados brutos pode ser número, texto, data, etc.

O valor "display" é como os dados são formatados. Ao usar a GUI do Excel, você vê o valor de exibição, não o valor bruto.

O problema é que, quando você exporta para CSV, ele está tomando o valor raw e exportando-o, não o valor de exibição! Portanto, mesmo se você formatar os dados para conter zeros à esquerda usando o diálogo Formatar Células, se o valor subjacente não contiver um zero à esquerda, sua exportação também não será.

Você precisa formatar todos os dados como texto (na planilha do Excel) e, em seguida, adicionar um zero à esquerda, quando apropriado. Isso eliminará o valor de exibição, induzindo você a pensar que você tem um zero à esquerda no valor bruto (você não o faz).

Solução

O zero não existe como parte do conteúdo da célula, apenas a formatação, portanto, quando você formata como texto, não o obtém. Você pode tentar usar uma fórmula na próxima coluna, por exemplo Se você tiver 5 dígitos (?) CEP com entradas em A2, coloque esta fórmula em B2

=TEXT(A2,"00000")

copie a fórmula na coluna

O resultado disso é um valor de texto (possivelmente com zero real). Depois de ter esse valor em outra coluna, você pode copiar e colar "Colar valores" sobre a coluna original para substituir todos os dados subjacentes pelos dados preenchidos com zero. Em seguida, exclua a coluna extra.

    
por 20.12.2012 / 17:07
2

Você tem números nas células, não em texto. Um valor numérico de 02010 é o mesmo que o número 2010. A formatação como texto fornece a representação de texto normal de 2010, não 02010.

Para preservar zeros à esquerda, insira os dados como uma string, não um número. Por exemplo, insira="02010" como o valor.

Para exibir apenas os zeros à esquerda, supondo que todos os números tenham o mesmo comprimento (digamos, cinco dígitos), use um formato Personalizado. Selecione 0 na FOrlist personalizada e altere-a para 00000. Todos os números serão exibidos como cinco dígitos, com zeros à esquerda. No entanto, se você salvar esses dados em um arquivo CSV, os zeros à esquerda não estarão lá. A única maneira de mantê-los é inserir os dados como strings.

    
por 20.12.2012 / 17:10
0

Já faz muito tempo desde que eu usei o Excel, mas sempre prefixo o zero inicial com um 'e o Excel o trataria como uma string em vez de tentar interpretá-lo como um número.

    
por 20.12.2012 / 17:25