Формула Excel: извлечь n-е слово из текстовой строки -

Общая формула

=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",LEN(A1))), (N-1)*LEN(A1)+1, LEN(A1)))

Резюме

Если вам нужно получить n-е слово в текстовой строке (например, в предложении, фразе или абзаце), вы можете это сделать с помощью умной (и устрашающей) формулы, которая объединяет 5 функций Excel: ОБРЕЗАТЬ, СРЕДНЕЕ, ПОДСТАВИТЬ, ПОВТОР и LEN.

Объяснение

По сути, эта формула берет текстовую строку с пробелами и "наводняет" ее дополнительными пробелами, заменяя каждый пробел определенным количеством пробелов с помощью SUBSTITUTE и REPT. Количество используемых пробелов зависит от общей длины исходного текста.

Вы можете думать о результате в этой точке как о «островах» слов, плавающих в море космоса :)

Затем формула использует функцию MID для извлечения нужного слова. Отправная точка прорабатывается с помощью:

(N-1)*LEN(A1)+1

И общее количество извлеченных символов равно длине полной текстовой строки.

На данный момент у нас есть нужное вам слово в окружении пробелов. Наконец, функция TRIM отсекает все пробелы и возвращает только слово.

Мне очень нравится эта формула, потому что она демонстрирует, чего можно достичь с помощью творческого мышления.

Текст в столбцы

Не забывайте, что в Excel есть встроенная функция Text to Columns, которая может разделять текст в соответствии с выбранным вами разделителем. Если вам просто нужно получить третье слово из большого количества текстовых строк, эта формула может быть более удобной (и динамичной), но текст в столбцы по-прежнему полезен во многих ситуациях.

Хорошие ссылки

Эффективный способ извлечь n-е слово из строки (форум MrExcel)

Интересные статьи...