У меня есть такие данные:

| VR headsets          |
| -------------------- |
| htc;oculus;cardboard |
| playstation vr       |
| htc;oculus           |
| no                   |
| daydream;cardboard   |
| cardboard            |
| no                   |

Каждая новая строка в приведенном выше примере ввода является новой строкой, а каждая - одним столбцом. Мой вопрос сейчас: как я мог бы плюнуть все ячейки в разделитель (;) в Excel 2016? Есть ли формула для этого?

Примечание . Входной файл не является файлом CSV! Это файл .xlsx который содержит результаты опроса. Входные данные выше - это только один вопрос.

В конце концов я хотел бы данные, как это

| VR headsets          |
| -------------------- |
| htc                  |
| oculus               |
| cardboard            |
| playstation vr       |
| htc                  |
| oculus               |
| no                   |
| daydream             | 
| cardboard            |
| cardboard            |
| no                   |

Может быть в нескольких столбцах.

Я пытался использовать эту формулу:

=DEEL('Alle data'!$U4; KOLOMMEN('Alle data'!$U4:'Alle data'!$U4); B$2)

На английском (может быть не так)

=PART('Alle data'!$U4; COLUMNS('Alle data'!$U4:'Alle data'!$U4); B$2)

но у меня такой результат

В ячейках B$2 стоят эти значения:

1  2  3  4  5  6  7  8  9  10 11 12 13 ...

1 ответ1

1

С данными в столбце A, запустив этот короткий макрос VBA:

Sub MakeList()
    Dim i As Long, N As Long, j As Long

    N = Cells(Rows.Count, "A").End(xlUp).Row
    j = 1

    For i = 1 To N
        ary = Split(Cells(i, 1), ";")
        For Each a In ary
            Cells(j, 2) = a
            j = j + 1
        Next a
    Next i
End Sub

будет производить:

Чтобы использовать это, вам нужно сделать файл .xlsm, а не .xlsx

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