Wie trenne ich eine durch Kommas getrennte Liste in Excel in zwei Spalten?

14

Ich habe eine lange, durch Kommas getrennte Liste, die in Excel folgendermaßen aussieht:

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  

Gibt es eine einfache Möglichkeit, dies in zwei separate Spalten umzuwandeln? Es gibt über 800 Werte, und ich freue mich wirklich nicht darauf, sie alle einzeln zu trennen.

Bretagne
quelle

Antworten:

30

Haben Sie versucht, Text in Spalten zu verwenden ?

  1. Markieren Sie die Spalte, die Ihre Liste enthält.
  2. Gehen Sie zu Daten > Text zu Spalten .
  3. Wählen Sie Begrenzt . Klicken Sie auf Weiter .
  4. Wählen Sie Komma . Klicken Sie auf Weiter .
  5. Wählen Sie " Allgemein" oder " Text" , je nachdem, was Sie bevorzugen.
  6. Lassen Sie das Ziel unverändert oder wählen Sie eine andere Spalte. Klicken Sie auf Fertig stellen .

Sie können auch zwei Formeln in zwei separaten Spalten verwenden.

So erhalten Sie die Werte links vom Komma:

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

So erhalten Sie die Werte rechts vom Komma:

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

wo K1enthält die anfängliche Zeichenfolge, wie z401.50,0.027

** 0+bevor die Formeln die extrahierten Teilzeichenfolgen in numerische Daten konvertieren.

Ellesa
quelle
Um die Spalten anschließend in Zeilen zu konvertieren, können Sie die Spalten auswählen, dann Einfügen und dann Transponieren auswählen.
Live-Liebe
Es funktioniert in Google Spreadsheets
DanielBlazquez
3

Kopieren / Einfügen des Textes in einen Texteditor Ersetzen Sie alle Leerzeichen durch carriagereturn / linefeeds. Speichern Sie als TXT-Datei. Öffnen Sie die Datei in Excel.

Steve Rindsberg
quelle
0

schreibe ein wenig vba, um deine Liste zu verarbeiten

Dies setzt voraus, dass sich die Werteliste in einer einzelnen Zelle befindet und ausgewählt ist. Fügt die Ergebnisse in die folgenden Zellen ein

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
chris neilsen
quelle