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

Файл примера

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


Пусть текстовая строка Василий Иванович Петров находится в A 7. Выведем из строки третье слово, т.е. фамилию. Номер слова, которое нужно вывести поместим в ячейку 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 ).

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

Файл примера

© Copyright 2013 - 2020 Excel2.ru. All Rights Reserved