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

Как разделить разделенный запятыми список на два столбца в Excel?

У меня есть длинный список, разделенный запятыми, который выглядит так в 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

Есть ли простой способ преобразовать это в два отдельных столбца? Там более 800 значений, и я действительно не с нетерпением жду возможности разделить их все по отдельности.

Ответы (3)

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

Вы пробовали использовать Text to Columns?

  1. Выделите колонку, которая содержит ваш список.
  2. Перейдите к Данные > Справка к колонкам.

  3. Выберите Delimited. Нажмите Следующий.

  4. Выберите Комма. Нажмите Next.

  5. Выберите Общие или Text, как вам больше нравится.

  6. Оставьте Назначение как есть или выберите другой столбец. Нажмите Finish.

Можно также использовать две формулы в двух отдельных столбцах.

Чтобы получить значения слева от запятой:

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

Чтобы получить значения справа от запятой:

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

, где K1 содержит начальную строку, например 401.50,0.027

** 0+ до того, как формулы преобразуют извлеченные подстроки в числовые данные.

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

Скопировать/вставить текст в текстовый редактор Заменить все пробелы символами возврата каретки/линии Сохранить как TXT-файл. Открыть файл в Excel.

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

Запишите немного vba для обработки вашего списка

Это предполагает, что список значений находится в одной ячейке и выбран. Результаты выводятся в следующие ячейки

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

Похожие вопросы

6
13
9
10
10