Функция разделения текста на столбцы в Excel

Функция разделения текста на столбцы в Excel

У меня есть таблица Excel со строками данных, как показано ниже. Есть код с названием продукта, а затем номер.

QA32 Product One (Large) 23
AZ63 Product Two 96
PR65 Product Three 149

Как разделить каждое поле на столбец?

Я попробовал «разбить текст на столбцы» в Excel, используя опцию с разделителями и разделяя пробелами, но тот факт, что некоторые названия продуктов содержали более одного слова, привел к тому, что некоторые числа оказались в неправильном столбце. Например,

Code     Name       Number       
QA32    Product      One       (Large)    23
AZ63    Product      Two         96
PR65    Product      Three       149

Вот желаемый результат:

Code        Name                Number
QA32    Product One (Large)       23
AZ63    Product Two               96
PR65    Product Three             149

Помощь приветствуется!

решение1

Используйте FIND-functionдля определения положения первого и последнего пробела. После этого используйте MID-functionдля разделения данных на три части. Если вы знаете положение пробелов, разделение будет простым. Найти первый пробел также тривиально, так как FINDон идет слева направо. К сожалению, нет способа указать Excel искать справа налево.

Итак, самое сложное — определить последний пробел! Здесь мы используем формулу массива.
Чтобы ввести формулу массива, вы вставляете формулу в ячейку и не нажимаете Enter.
Вместо этого вы нажимаете Ctrl+ Shift+ Enter.

{=MAX((MID(A2,ROW(A:A),1)=" ")*ROW(A:A))}

Если все сделано успешно, Excel добавит начальную и конечную фигурные скобки.


Вставьте все формулы в указанные ячейки и используйтеautofill down

A2: ваши данные идут сюда
B2: =FIND(" ",A2,1)
C2: =MAX((MID(A2,ROW(A:A),1)=" ")*ROW(A:A)) <-формула массива!
D2: =MID(A2,1,B2-1)
E2: =MID(A2,B2+1,C2-B2-1)
F2:=MID(A2,C2+1,LEN(A2))

Экран результата
введите описание изображения здесь

решение2

Если подходящий алгоритм должен вернуть:

  • Код = Первое слово
  • Продукт = Все, что находится между первым и последним словом.
  • Число = Последнее слово

Тогда следующие формулы должны работать.

Предположим, что ваши данные находятся в ячейке A1:

Code:     =LEFT(TRIM(A1),FIND(" ",TRIM(A1))-1)
Product:  =TRIM(MID(SUBSTITUTE(TRIM(A1)," ",REPT(" ",99)),100,LEN(SUBSTITUTE(TRIM(A1)," ",REPT(" ",99)))-198))
Number:   =TRIM(RIGHT(SUBSTITUTE(TRIM(A1)," ",REPT(" ",99)),99))

Связанный контент