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

Jak rozdzielić listę oddzielonych przecinkami na dwie kolumny w Excelu?

Mam długą, oddzieloną przecinkami listę, która wygląda tak w Excelu:

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

Czy istnieje prosty sposób na przekształcenie tego w dwie oddzielne kolumny? Jest ponad 800 wartości i naprawdę nie mogę się doczekać oddzielenia ich wszystkich indywidualnie.

Odpowiedzi (3)

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

Czy próbowałeś użyć Text to Columns?

  1. Podświetl kolumnę, która zawiera twoją listę.
  2. Tekst do Kolumn*
  3. Wybierz Dane. Kliknij **Następny.
  4. Wybierz Comma. Kliknij Następny.
  5. Wybierz Ogólny lub Tekst, w zależności od tego, co wolisz.
  6. Zostaw **Cel taki, jaki jest, lub wybierz inną kolumnę. Kliknij Kończ.

Możesz również użyć dwóch formuł w dwóch oddzielnych kolumnach.

Aby uzyskać wartości po lewej stronie przecinka:

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

Aby uzyskać wartości po prawej stronie przecinka:

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

gdzie K1 zawiera łańcuch początkowy, jak 401.50,0.027

** 0+ zanim formuły przekształcą wyodrębnione podciągi na dane liczbowe.

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

Skopiuj/wklej tekst do edytora tekstu Zamień wszystkie znaki spacji na carriagereturn/linefeeds Zapisz jako plik TXT. Otwórz plik w programie Excel.

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

Napisz trochę vba, aby przetworzyć swoją listę

Zakłada się, że lista wartości jest w jednej komórce i jest wybrana. Puts the results in the following cells

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