Выбор в MS EXCEL из текстовой строки n-го слова

Если текстовая строка в ячейке содержит несколько слов, например, «Василий Иванович Петров», то можно создать формулу для вывода, например, первого (второго, третьего и т.д.) слова.

Пусть текстовая строка Василий Иванович Петров находится в A7. Выведем из строки третье слово, т.е. фамилию. Номер слова, которое нужно вывести поместим в ячейку B7 (см. файл примера).

Запишем громоздкую формулу.

=ЕСЛИ(B7>ДЛСТР(A7)-ДЛСТР(ПОДСТАВИТЬ(A7;" ";""));
ПРАВСИМВ(A7;ДЛСТР(A7)-ПОИСК("^^";ПОДСТАВИТЬ(A7;" ";"^^";ДЛСТР(A7)-ДЛСТР(ПОДСТАВИТЬ(A7;" ";"")))));
ЕСЛИ(B7=1;ПСТР(A7;1;ПОИСК("^^";ПОДСТАВИТЬ(A7;" ";"^^";1))-1);
ПСТР(A7;ПОИСК("^^";ПОДСТАВИТЬ(A7;" ";"^^";B7-1))+1;
ПОИСК("^^";ПОДСТАВИТЬ(A7;" ";"^^";B7))-ПОИСК("^^";ПОДСТАВИТЬ(A7;" ";"^^";B7-1))-1)))

Перед применением формулы убедитесь, что в строке нет лишних пробелов. Это можно сделать функцией СЖПРОБЕЛЫ(). Формула позволяет выбрать любое слово из строки (третье, шестое, восьмое и т.п.).

Вообще, хранить несколько текстовых значений в одной ячейке MS EXCEL неправильно, отсюда и возникают такого рода задачи, имеющие громоздкие решения (см. Советы по построению таблиц в MS EXCEL).

Как альтернативу можно посоветовать воспользоваться инструментом Текст-По-Столбцам (Данные/ Работа с данными), позволяющему, разделить текстовую строку на несколько строк.

Связанные статьи

Похожие задачи
Прочитайте другие статьи, решающие похожие задачи в MS Excel. Это позволит Вам решать широкий класс подобных задач.
Средняя: 5 (1 оценка)