Como faço para parar o Excel de converter o valor 0503E000 para 5.03E + 02 automaticamente?


22

Excel convertendo o valor 0503E000 para 5.03E + 02 em qualquer célula automaticamente em CSV Tentei convertê-lo para número de texto e geral, mas depois que eu o salvo e reabri-lo novamente, ele volta para 5.03E + 02

Como faço para impedir que isso aconteça?


apenas redimensionar a largura da coluna e deve ser exibido normalmente
Scorpion99

Você já tentou formatar a célula como texto antes de inseri-lo?
CharlieRB

tentei redimensionar e formatar como texto já não é possível ....
CrashOverride

Se você precisar usar o valor como um número hexadecimal (ou seja, você não pode tê-lo como uma sequência de texto), poderá aninhar DEC2HEXe HEX2DECseqüências de caracteres para o número original (por exemplo, =DEC2HEX(HEX2DEC("0503E000"))para o seu exemplo). Pode não ser útil se você precisar manipular o arquivo csv sem que ele contenha fórmulas, mas é outra opção além de formatar como texto.
22718 Myles

Respostas:


16

Acho que o principal problema aqui é que você está usando um CSV, que não possui o tipo de célula incorporado. O Excel tenta automaticamente interpretar a célula como tendo um número científico e é por isso que você está vendo 5.03E + 02 em vez de 0503E000 .

Tente criar uma pasta de trabalho do Excel, formatar todas as células como texto e colar nos dados. Eu tentei no Excel 2013 e funcionou.


Sim, ele funciona na pasta de trabalho, mas, infelizmente, temos que usar o CSV para essa finalidade ... pena
CrashOverride

Portanto, não use o Excel para exibir o conteúdo, ou execute uma macro na célula, para convertê-lo novamente ou use uma sintaxe ligeiramente diferente se você tiver usado 0x antes do valor que eu não acredito que ele converteria
Ramhound

Acho que podemos ter que deixar isso de lado ... porque se o abrirmos em outro editor, como o bloco de notas ou o bloco de notas ++, ele terá o valor correto ... então eu acho que a célula tem o valor correto, exibindo-o de forma estranha em notação científica ...
CrashOverride

26

Se você pode converter ou controlar o formato CSV , pode forçar uma coluna a analisar como texto no Excel, envolvendo-a entre aspas duplas e colocando um sinal de igual.

O Excel descartará descuidadamente a precisão neste formato:

Value,0503E000,1234123412341234

Ou mesmo este formato:

Value,"0503E000","1234123412341234"

Convertendo para:

Value  |  5.03E+02  |  1234123412341230

No entanto , adicionar o sinal de igual força o Excel a preservar seus dados de má vontade:

Value,="0503E000",="1234123412341234"

… Que abre como:

Value  |  0503E000  |  1234123412341234

1
Ótima solução ao colar a partir do SQL
SeaSprite

1
Também é uma ótima solução ao importar dados via "Obter dados externos" no menu "Dados" do Excel.
Mohsen Abasi

1
Ótima solução. A única desvantagem (pequena) é que você terminará com fórmulas em vez de valores. Portanto, basta copiar tudo e colar os valores , o que levará a um arquivo do Excel um pouco menor.
Stef

9

Em vez de Abrir "o arquivo CSV no Excel, selecione Importar o arquivo (no Excel 2007-2010, você navegaria até a Faixa de Dados / Obter Dados Externos / Do Texto). Não tem certeza sobre 2013, mas deve haver algo semelhante. Quando Se você fizer isso, o assistente de Importação de Texto será aberto e oferecerá a oportunidade de formatar a coluna que contém esse Valor como Texto, antes que o Excel (não tão útil) o altere para um valor numérico.


1
Este. Quase nunca abro arquivos CSV diretamente.
pepoluan

@pepoluan Não entendo o que você escreveu.
Ron Rosenfeld

Qual parte exatamente você não entende?
pepoluan

4
@pepoluan Obrigado. Se eu tivesse entendido this, o resto teria sido claro. Acho que estou ficando velho :-(
Ron Rosenfeld

1
Eu esperava que o uso de "this" como uma frase completa tivesse morrido rapidamente, mas 4 anos depois, está mais forte do que nunca.
variante

2

Inicie a célula com um apóstrofo para forçar a interpretação do texto:

'0502E000

Basicamente, isso informa ao Excel para não analisar o campo como um número. Como existe um 'E' no campo, ele parece um número para o Excel. O apóstrofo não será realmente inserido na célula:

[a1] '0502E000
[b1] =hex2dec(a1)

A célula 'b1' exibirá 84074496.


2
Isso funciona ao entrar diretamente no Excel, mas não com o arquivo CSV.
SBF

Ao abrir um arquivo CSV, o apóstrofo será realmente inserido na célula
Stef

0

Tente carregar o arquivo (dados buscados na tabela do banco de dados) através da opção DATA no MS excel e, simplesmente, ao carregar, basta selecionar “Não detectar tipos de dados” em “Detecção de tipo de dados” e carregar, isso manterá o formato de dados e carrega o Excel, sem necessidade de conversões de coluna.


0

Cole os dados em uma planilha do Google. Selecione a coluna ==> Formato ==> Número => Formato personalizado => digite o número de dígitos com os quais deseja que o formato ocorra (ex: 10 dígitos = 0000000000)


Gostaria de sugerir uma melhor edição do seu post ,, pois é necessário adicionar alguns exemplos !!
Rajesh S

-1

Com a formatação padrão da célula, os números com zero na frente e números longos serão automaticamente modificados pelo Excel. Por exemplo, se você digitar 012, ele será alterado para 12.

Se você formatar as células como Texto , qualquer número digitado na célula permanecerá como está e não será modificado pelo Excel.

No entanto, se você colar um número de outra fonte em uma célula formatada como Texto , e na fonte houver algum tipo de formatação, a formatação da célula será alterada de Texto para Geral e a manipulação de números retornará.

A solução que encontrei foi fazer uma pasta especial e colar o número como texto . Em seguida, a célula permanece com sua formatação de texto e o número não é modificado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.