Como separo uma lista separada por vírgulas em duas colunas no Excel?

8

Eu tenho uma longa lista separada por vírgula que se parece com isso no Excel:

401.50,0.027  
402.00,0.028  
402.50,0.029  
403.00,0.031  
403.50,0.032  
404.00,0.034  
404.50,0.037  

Existe uma maneira simples de converter isso em duas colunas separadas? Existem mais de 800 valores, e eu realmente não estou ansioso para separá-los individualmente.

    
por Brittany 31.10.2011 / 01:08

3 respostas

23

Você já tentou usar texto para colunas ?

  1. Realce a coluna que contém sua lista.
  2. Ir para Dados > Texto para colunas .
  3. Escolha Delimitado . Clique em Próximo .
  4. Escolha Vírgula . Clique em Próximo .
  5. Escolha Geral ou Texto , o que você preferir.
  6. Deixe Destino como está ou escolha outra coluna. Clique em Concluir .

Você também pode usar duas fórmulas em duas colunas separadas.

Para obter os valores à esquerda da vírgula:

=0+LEFT(K1,FIND(",",K1)-1)

Para obter os valores à direita da vírgula:

=0+RIGHT(K1,LEN(K1)-FIND(",",K1))

em que K1 contém a string inicial, como 401.50,0.027

** 0+ antes que as fórmulas convertam as substrings extraídas em dados numéricos.

    
por 31.10.2011 / 14:54
3

Copie / cole o texto em um editor de texto Substitua todos os caracteres de espaço por carriagereturn / linefeeds Salvar como um arquivo TXT. Abra o arquivo no Excel.

    
por 31.10.2011 / 01:27
0

escreva um pouco de vba para processar sua lista

Isso pressupõe que a lista de valores esteja em uma única célula e esteja selecionada. Coloca os resultados nas seguintes células

Sub zx()
    Dim a() As String
    Dim v As Variant
    Dim i As Long
    Dim j As Long

    a = Split(ActiveCell.Value, " ")
    ReDim v(1 To UBound(a) + 1, 1 To 2)
    For i = 1 To UBound(a) + 1
        j = InStr(a(i - 1), ",")
        v(i, 1) = Val(Left(a(i - 1), j - 1))
        v(i, 2) = Val(Mid(a(i - 1), j + 1))
    Next

    ActiveCell.Offset(1, 0).Resize(UBound(a) + 1, 2) = v
End Sub
    
por 31.10.2011 / 10:31