2011-10-31 00:08:32 +0000 2011-10-31 00:08:32 +0000
13
13

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

Ich habe eine lange, durch Komma getrennte Liste, die in Excel so 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, diese in zwei getrennte Spalten umzuwandeln? Es gibt über 800 Werte, und ich freue mich wirklich nicht darauf, sie alle einzeln zu trennen.

Antworten (3)

28
28
28
2011-10-31 13:54:05 +0000

Haben Sie versucht, Text to Columns zu verwenden?

  1. Markieren Sie die Spalte, die Ihre Liste enthält.
  2. Gehen Sie zu Daten > Text zu den Spalten.
  3. Wählen Sie Begrenzt. Klicken Sie auf Nächste.
  4. Wählen Sie Komma. Klicken Sie auf Next.
  5. Wählen Sie Allgemein oder Text, je nachdem, was Sie bevorzugen.
  6. Lassen Sie Ziel so, wie es ist, oder wählen Sie eine andere Spalte. Klicken Sie auf Beenden.

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

Um die Werte links vom Komma zu erhalten:

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

Um die Werte rechts vom Komma zu erhalten:

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

wobei K1 die Anfangszeichenfolge enthält, wie z.B. 401.50,0.027

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

3
3
3
2011-10-31 00:27:34 +0000

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

0
0
0
2011-10-31 09:31:32 +0000

schreiben Sie ein wenig vba, um Ihre Liste zu verarbeiten

Dies setzt voraus, dass sich die Werteliste in einer einzigen Zelle befindet und ausgewählt ist. Schreibt die Ergebnisse in die folgenden Zellen

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