1

У меня огромный список Excel (20 000+ строк), и я хочу разделить этот список на несколько столбцов. Ранее я использовал мастер Data | Text-to-Columns, но, похоже, у него есть ограничение: я не могу указать, через сколько "расщеплений" останавливать расщепление. Пример данных:

type: abds : das
files: asdfs:jgkd

цель:

|type|abds : das|
|files|asdfs:jgkd|

Спасибо за ваше время :)!

4 ответа4

1

Обычно вы пишете некоторый vbscript для выполнения этой задачи, но если это лист из одного столбца, вы можете сохранить его как текст (с разделителями табуляции), а затем открыть его снова. Excel спросит вас, что это за текстовый файл. Скажите, что это file with Separators , нажмите « Next и отметьте « Other и введите двоеточие в поле редактирования.

1

Вы можете заменить первое двоеточие на "|" - или другой символ, который не появится в ваших данных - используя:

=SUBSTITUTE(A1,":","|",1)

Затем скопируйте и вставьте результаты в виде значений и сделайте текст в столбцы для этих значений.

0

VBA - отличный инструмент для небольших задач, подобных этой.

Предполагая, что данные находятся в столбце A и являются смежными с A1 . Если это не так, просто отрегулируйте строку Set rng = ... в соответствии с вашими данными.

Sub SplitColumn()
    Dim rng As Range
    Dim dat As Variant
    Dim i As Long, j As Long

    Set rng = Range([a1], [a1].End(xlDown)).Resize(, 2)
    dat = rng
    For i = 1 To UBound(dat, 1)
        j = InStr(dat(i, 1), ":")
        If j > 0 Then
            dat(i, 2) = Mid$(dat(i, 1), j + 1)
            dat(i, 1) = Left$(dat(i, 1), j - 1)
        End If
    Next
    rng = dat
End Sub
0

Самый простой способ, о котором я могу подумать, - это начать с того, что вы уже сделали: мастер Data | Text-to-Columns.

Затем вы повторно объедините поля, которые были непреднамеренно разделены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .