Это просто озадачило меня. Каждая ячейка в этом списке содержит подстроку, которая разделена ровно 4 штрихами. То, что я хочу сделать, это иметь возможность извлечь эту строку в свой собственный столбец. Строка не обязательно находится в одной и той же позиции от ячейки к ячейке.

#99760395  AP965-690-0-WE-00
#88908-789302  92WQ-50Y-0-N-900BD
6676549  9W7B-20W-0-N-00  SERVO
RZ2268461 TAO120-50-0-X-000 W/ AMPLIFIER
REF# BW309-8WV9-0-V-00

Ниже приведен конечный результат, которого я хочу достичь:

AP965-690-0-WE-00
92WQ-50Y-0-N-900BD
9W7B-20W-0-N-00
TAO120-50-0-X-000
BW309-8WV9-0-V-00

Я играл с комбинацией функций LEN, FIND, LEFT, RIGHT, но не могу достичь желаемого результата.

1 ответ1

2

Здесь кажется, что ваши данные всегда появляются после первой группы пробелов, поэтому я думаю, что эта функция будет работать для вас. Ключевым моментом здесь является использование функции Mid.

Скриншот

=TRIM(IFERROR(MID(TRIM(A2);FIND(" ";TRIM(A2));FIND(CHAR(1);SUBSTITUTE(TRIM(A2);" ";CHAR(1);2))-FIND(" ";TRIM(A2)));RIGHT(TRIM(A2);LEN(TRIM(A2))-FIND(CHAR(1);SUBSTITUTE(TRIM(A2);" ";CHAR(1);1)))))

Это выглядит довольно запутанно, поэтому вот небольшая разбивка.
Часть1:

=RIGHT(TRIM(A2);LEN(TRIM(A2))-FIND(CHAR(1);SUBSTITUTE(TRIM(A2);CHAR(32);CHAR(1);1)))

Это найдет 1-е вхождение "" (мы могли бы также использовать Char (32), но, вероятно, легче следовать этому пути). Из-за TRIM первая группа пробелов всегда будет иметь длину 1 (один пробел). Вот почему мы можем использовать первое и второе вхождения.

Часть 2:

=MID(TRIM(A2);FIND(" ";TRIM(A2));FIND(CHAR(1);SUBSTITUTE(TRIM(A2);" ";CHAR(1);2))-FIND(" ";TRIM(A2)))

Здесь мы находим строку, начиная с 1-го вхождения до 2-го вхождения.
Если в качестве второго вхождения нет места для поиска, это приведет к ошибке. Вот почему мы объединяем это с Part1.

= Уравновешивание (ЕСЛИОШИБКА (PART2; PART1))

Майк

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