Для получения второго инициала действия аналогичные, получаем слово «Отчество» берем от него первую букву и добавляем точку в конце.
Алгоритм действий получения отчества: вернуть из строки с ФИО количество символов от второго пробела до конца строки. Для реализации алгоритма используем функцию «ПСТР». Для получения переменой аргумента «число_знаков» нам необходимо от числа символов строки отнять начальную позицию слова «Отчество»+1.
Для получения позиции начала слова «Отчество» нужна позиция второго пробела, воспользуемся информацией полученной ранее. Позиция второго пробела находится в ячейке C1. В ячейку G1 вводим формулу «=C1+1» и получаем позицию начала слова «Отчество».
Для получения количества символов текстовой строки используется функция «ДЛСТР». В ячейку H1, вводим формулу «=ДЛСТР(A1)».
В ячейку I1 вводим формулу «=ПСТР(A1;G1;H1-G1+1)» и получим слово «Отчество». Далее используя функцию «ЛЕВСИМВ» и «СЦЕПИТЬ» вводим в ячейке J1 формулу «=СЦЕПИТЬ(ЛЕВСИМВ(I1);".")» получаем второй инициал. И для получения Фамилии с инициалами в ячейку K1 введем формулу «=СЦЕПИТЬ(ЛЕВСИМВ(A1;НАЙТИ(" ";A1;1)-1);" ";F2;" ";J2)».
Разберем еще несколько примеров использования текстовых функций.
Получение последовательности слов с начала текстовой строки
Например, у нас есть список из одного столбца, в котором в строку записано Фамилия Имя Отчество, дата рождения, нам необходимо разделить этот список на два столбца с ФИО и датой рождения отдельно.
Рассмотрим строку «Фамилия Имя Отчество 01.01.1900» видим, что строка «Фамилия Имя Отчество» заканчивается на третьем пробеле.
Алгоритм действий: чтобы получить «ФИО» необходимо вернуть количество символов до третьего пробела.
Порядок действий:
1. Получаем позицию первого пробела, в ячейку B1 вводим формулу «=НАЙТИ(" ";A1;1)»;
2. Используя данные первой позиции, получим позицию второго пробела, в C1 вводим формулу «=НАЙТИ(" ";A1;B1+1)»;
3. Далее используя данные позиции второго слова получим позицию третьего пробела и в D1 вводим формулу «=НАЙТИ(" ";A1;C1+1)».
И, используя функцию «ЛЕВСИМВ» с результатом третьей операции, как переменную аргумента Число_знаков-1, получаем Фамилию Имя Отчество, введя в ячейку E1 формулу «=ЛЕВСИМВ(A1;D1-1)».
Получение слова с конца текстовой строки
Далее из текста необходимо получить дату рождения. В строке «Фамилия Имя Отчество 01.01.1900» дата рождения идет после третьего пробела.
Алгоритм действий: чтобы получить дату рождения из строки «Фамилия Имя Отчество 01.01.1900» необходимо вернуть количество знаков от третьего пробела до конца строки.
Порядок действий:
1. В ячейке F1 вводим формулу «=ДЛСТР(A1)» и получаем количество символов всей строки;
2. Позицию третьего пробела берем из расчетов предыдущего примера, ячейка D1.
3. В ячейку G1 водим формулу «=ПСТР(A1;D1+1; ДЛСТР(A1)-D1)» получаем строку дата рождения.
Разберем пример. У функции «ПСТР» есть три аргумента это текст, начальная_позиция, число_знаков. Начальную позицию, с которой функция вернет слово, берем из ячейки D1, это позиция третьего пробела и прибавляем к нему 1, получаем позицию начала слова дата рождения. Чтобы получить число знаков, которое вернет функция, мы от количества знаков всей стоки отнимаем позицию третьего пробела ДЛСТР(A1).
Важно! При возвращении слова из конца строки данным способом, необходимо учитывать, что количество пробелов в текстовой строке должно быть одинаково во всем списке обрабатываемых строк. Функция, которая бы возвращала позицию вхождения одной строки в другую, просматривая строку с конца в Excel нет.
Получение слова с конца строки заданной длинны
Для получения слова с конца строки заданной длинны, используется функция «ПРАВСИМВ», она возвращает последний символ или несколько последних символов текстовой строки на основе заданного числа символов.
Синтаксис.
ПРАВСИМВ(текст,[число_знаков])
Аргументы функции.
Текст Обязательный. Текстовая строка, содержащая символы, которые требуется извлечь.
Число_знаков Необязательный. Количество символов, извлекаемых функцией «ПРАВСИМВ».