2012-04-16 20:39:25 +0000 2012-04-16 20:39:25 +0000
121
121

Porque é que o Excel trata longas cadeias numéricas como notação científica mesmo depois de mudar o formato das células para texto

Estou a tentar processar alguns dados no Excel. Os dados incluem números de contas numéricas e outras sequências numéricas longas (como MEIDs de telemóveis). Não estou a fazer operações matemáticas nestas strings, por isso quero que o Excel as trate como texto simples.

Aqui está o que me está a deixar maluco (este é o Excel 2010):

  1. Pegue num número longo como 1240800388917 e cole-o numa célula numa nova folha de trabalho.
  2. O formato padrão da célula do Excel é geral, por isso a string é apresentada em notação científica como 1.2408E+12
  3. Clique com o botão direito do rato na célula, seleccione Células de Formato, defina o formato para Texto

A célula continua a ser apresentada em notação científica, embora o formato tenha sido definido para texto.

Agora, se eu fizer os passos numa ordem diferente:

  1. Formate uma célula vazia como texto. Clique com o botão direito do rato na célula, seleccione Format Cells, defina o formato para Text
  2. Pegue um número longo como 1240800388917 e cole-o na célula de texto formatada

Agora, a célula é exibida como uma string e não em notação científica.

Os resultados permanecem em notação científica mesmo que a célula esteja formatada como texto apenas me parece quebrada. Já vi sugestões de trabalho como: usar a importação de CSV e definir o formato para texto, adicionar um carácter de espaço ao início de cada string numérica, e outros.

Existe um bom trabalho simples para manter facilmente estas strings formatadas como texto?

Porque é que o Excel faz isto?

Perguntas relacionadas com SU que encontrei [ Como é que o Excel 2007 pode parar de formatar grandes números como notação científica? Este comportamento do Excel é esperado com um grande número hexadecimal?

Respostas (13)

171
171
171
2014-07-23 10:53:47 +0000

Isto funcionou para mim no Excel 2010. Basta seleccionar a coluna, clicar no botão direito do rato, Formatar células, Personalizar e escolher a opção que diz 0 (segunda opção abaixo de Geral).

23
23
23
2012-04-16 23:45:51 +0000

Ah, lembranças de dados que me lembravam de quando fiz algumas verificações cruzadas em Excel (nunca mais). Quando se introduzem longas cadeias numéricas no Excel, tente dizer, 12345678901234567890 (20 dígitos), o Excel irá geralmente convertê-lo para si, o que significa que o número de 20 dígitos que acabou de introduzir foi reduzido para ser apenas cerca de quinze dígitos significativos.

Nota também: a conversão é uma truncagem, por oposição ao arredondamento. (12345678901234567890 é 1,2345678901234 6 E+19, mas o Excel mostra-lhe 1,2345678901234 5 E+19)

Isto ocorre no ponto de entrada, por isso, uma vez dentro, qualquer detalhe adicional é perdido, e por isso, mesmo que diga ao Excel que realmente quis dizer que era texto, e não um número, está um pouco sem sorte, e por isso a sua primeira sequência não funciona.

13
13
13
2012-09-28 16:44:58 +0000

Descobri que no Office 2010, se formatar primeiro a coluna, e depois colar nos dados, estes mostrarão os números grandes correctamente.

13
13
13
2012-04-16 21:01:00 +0000

Um único apóstrofo “ antes de um número obrigará o Excel a tratar um número como texto (incluindo um alinhamento à esquerda por defeito). E se tiver erros assinalados, será mostrado como um número armazenado como erro de texto na célula.

12
12
12
2013-07-05 07:44:11 +0000

Experimente isto… isto funciona para mim, Excel 2013.

=""&a1

onde a1 detém o valor numérico. Depois, copie a coluna e cole na coluna original.

6
6
6
2016-11-03 17:38:40 +0000

Estou ciente da idade da pergunta, mas esta é a que aterrei depois da pesquisa no Google e que não respondeu à minha pergunta (porque é que a formatação como texto não funciona e porque é que o número é reduzido para 15 dígitos depois da formatação como texto).

A resposta curta é: não pode trabalhar no seu número da forma que quiser DEPOIS de introduzir o valor numérico e tocar em Enter. No momento em que fizer isso o número será truncado para 15 dígitos e apresentado como exponencial.

_ Isto não é um bug, é uma característica._

Tudo o que fizer depois disso será usar o valor truncado, por isso nenhum truque de formatação irá ajudar. Contudo, pode utilizar a opção Text to columns para converter a notação exponencial para texto (Clique no cabeçalho da coluna, clique em Text to data, depois em Delimited, Next, Text, desmarque todas as caixas delimitadoras, seleccione Column data format em Finish e depois csv) para que os valores sejam convertidos para texto e imediatamente apresentados como um número de 15 dígitos. Mas, serão apenas 15 dígitos, por isso, se tiver um número mais longo, perde-se o resto.

Para ter o número na folha de cálculo exactamente a forma como o digitou tem de o guardar como texto. Por isso, tens de o preceder com apóstrofe ou formatar células como texto ** antes de*** digitar/copiar valores na mesma. Se “por vezes não funciona”, então, desculpe, ou faz algo errado ou tem algum tipo de autocorrecção (se usar apóstrofo e grande número >15 dígitos o Excel trata-o como um valor errado e sinaliza a célula com mensagem de aviso, por isso esta observação não é pessoal nem crítica).

Outra forma de o fazer em números grandes é importar valores do ficheiro de texto. Atrevo-me a dizer que é a única forma de o fazer na maioria das situações. E não se esqueça de importar o ficheiro, e não o abra apenas, pois o Excel trata o tipo &007 como se fosse um formato nativo e ajusta grandes números a 15 dígitos, como é óbvio.

Agora, até à última edição. Se introduzir um valor numérico grande em formato de célula Excel como texto, este ainda será exibido em notação científica, desde que a célula não seja suficientemente larga. É irritante, mas tem o efeito secundário de alguns algoritmos internos do Excel. Basta alargar a célula e verá sempre o valor total.

5
5
5
2014-07-02 15:02:30 +0000

Pode formatar as células como Personalizado > #

Isto pode ser aplicado depois de colar os dados na coluna, mas deve fazê-lo antes de guardar a folha de cálculo.

Eu trabalho muito com códigos de barras (UPC’s) e o Excel irá formatá-los como notação científica por defeito. Deixa-me louco! Porque é que esta não é uma opção que eu nunca vou saber.

3
3
3
2013-08-14 22:15:18 +0000

Excel 2010: Isto funciona uma coluna de cada vez e não funciona de todo para uma linha. Seleccione a coluna ou subconjunto de uma coluna, no separador Dados seleccione “Texto para colunas” e salte para a direita para “Terminar”. Chega de notação científica.

Concordo com os muitos utilizadores do Excel, é criminoso que não haja opção para impedir a notação científica!

1
1
1
2018-02-28 21:47:55 +0000

O Excel é frustrante para trabalhos de dados CSV/grande como este. Trabalhar com o LibreOffice se possível, não o faz, ou seja, se abrir a mesma folha (.xlsx) no Libreoffice, os grandes “números” que na realidade são strings não são exibidos na notação científica (o que é uma decisão absurda do Excel). A fidelidade do LibreOffice é grande: abra novamente o mesmo .xlsx em Excel, e a notação científica “funciona” instantaneamente, como é habitual.

1
1
1
2015-10-21 19:48:37 +0000

No Excel 2013, aconteceu o mesmo comigo e acabei de ir ao Formatar Células -> Número e depois assegurei-me que a casa decimal está definida para “0”.

0
0
0
2013-09-27 18:39:24 +0000
  1. Copiar/colar o campo do problema na nova folha da coluna A

  2. Copiar/colar a coluna A no ficheiro de texto

  3. Formatar a coluna B para texto e colar o ficheiro de texto na coluna B

  4. Na coluna C:

  5. Converter a coluna C num formato numérico sem casas decimais

  6. Copiar/colar a coluna C num ficheiro de texto

  7. Formatar a coluna D num ficheiro de texto e colar o ficheiro de texto na coluna D

  8. Na coluna E:

  9. Copiar/colar a coluna E no bloco de notas

  10. Eliminar os dados no campo de problemas e formatar a coluna para o texto

    1. Copiar/colar os dados do ficheiro de texto para o campo de problema
0
0
0
2014-01-28 22:58:15 +0000

Isto funcionou para mim no Excel 2013, incluindo a cópia das células para outros programas. A filtragem dos dados ajudou, especialmente para as etapas de edição.

  1. Seleccione a(s) célula(s) desejada(s).
  2. Aplique o formato de número “Texto”. (Experimente Alt, H, N, depois “Texto”.)

Depois, para cada uma das suas células desejadas:

  1. Entre no modo de edição. (Experimente F2.)
  2. Confirme a sua edição com Enter (bom para colunas) ou Tab (bom para filas). Não altere o conteúdo.

O seu número aparecerá normalmente, mesmo com 100 dígitos. =)

0
0
0
2012-04-17 05:40:42 +0000

Seleccione todas as células - ou, para facilitar, seleccione toda a folha de cálculo e clique em Células Formato, depois em Texto.

Automaticamente, toda a sua folha de cálculo irá utilizar texto. Não tem de o fazer célula a célula.