O Excel 2007 está convertendo campos CSV em fórmulas

7

Eu tenho um problema com um arquivo CSV que tem números de telefone armazenados em seu formato internacionalizado (+ 1-800-555-1234). Ao abrir este CSV no Excel 2007, ele converte esses dados em uma fórmula e exibe o resultado (= 1-800-555-1234; resultando em -2588).

Como posso dizer ao Excel para lidar com este campo como uma string?

Aqui está uma amostra - salve isso em um arquivo .csv e abra no Excel para reproduzir o problema:

Number,Name
+1-800-555-1234,Bob
+1-800-555-1200,Jim
    
por dlux 29.07.2009 / 16:36

5 respostas

11

Abra uma planilha em branco e selecione "Dados > Obter dados externos > From Text '(layout de menu do Excel 2007). Então, quando você abrir o arquivo CSV, você obterá o 'Assistente de importação de texto', que permitirá que você especifique colunas específicas como Texto em vez do padrão 'Geral'.
Pode ser necessário especificar a codificação de origem do arquivo apropriada (por exemplo, Unicode (UTF-8)) na primeira página do assistente, para manter os caracteres '+' iniciais.

Além disso, como diz Diago, se você renomear o arquivo de .csv para .txt e abrir no Excel, receberá o Assistente de importação de texto sem precisar passar por 'Dados > Obtenha dados externos ... '.

    
por 29.07.2009 / 17:32
4

Ao salvar o arquivo, use uma extensão TXT em vez de CSV. Isso forçará o Assistente de importação de texto para iniciar e você pode usar isso para forçar a coluna para texto.

A única outra maneira de encontrar uma maneira de fazer isso é colocando um único apóstrofo na frente do + i.e .. '+ 1-8000. No entanto, quando importar o seu preso com isso como parte da string.

De esta explicação do CSV Eu só posso deduzir que esta é uma das limitações com usando o formato CSV.

Eu sugiro que você importe e exporte em Xml, em vez de CSV, se possível.

    
por 29.07.2009 / 17:39
0

Clique com o botão direito do mouse na célula - > escolha 'Formatar célula' - > Selecione em "Categoria:" Texto.

Ou insira "" os dados que você deseja que sejam exibidos como texto no arquivo CSV.

-JFV

    
por 29.07.2009 / 16:38
0

Se você tiver algum controle sobre como o CSV é criado, experimente a solução proposta aqui:

por 03.08.2011 / 10:42
0

Use a função TEXT() .

=TEXT(B1,"+1-800-555-1234")
    
por 29.07.2009 / 16:38