Задание:
В ячейке A1 содержится фамилия, имя и отчество студента, которые отделены друг от друга одним или несколькими пробелами. Написать формулу, получающую в ячейке D1 фамилию и инициалы студентов.
Выполнение: Вначале рассмотрим ситуацию, когда Фамилия, Имя и Отчество отделены друг от друга одним пробелом и выполним задание по действиям.
В формулах будут использованы следующие функции Excel :
- ПОИСК(искомый_текст;текст_для_поиска ;нач_позиция), которая возвращает позицию первого вхождения знака или текстовой строки (искомого текста) в исходном тексте (тексте для поиска) при поиске слева направо, начиная с со знака в нач_позиции.
- ЛЕВСИМВ(текст;количество_знаков), которая возвращает указанное число знаков с начала текстовой строки.
- ПСТР(текст; начальная_позиция;число_знаков), которая возвращает указанное число знаков из текстовой строки, начиная с указанной позиции.
Кроме того, для объединения текстовых строк будет использована функция &
При выполнении задания по действиям:
1. В начале найдем позицию x1 (номер знака) размещения первого пробела- =ПОИСК(" ";A1;1) —результат поместим, например, в ячейку C3
2. Далее найдем позицию x2 (номер знака) размещения второго пробела- =ПОИСК(" ";A1;C3+1) —результат поместим, например, в ячейку C4
3. Затем выделим из исходой строки слева подстроку длинной (x1+1) знак (фамилию и первый инициал) и добавим точку- =ЛЕВСИМВ(A1;C3+1)&"." -результат поместим в ячейку C5
4. Далее выделим из исходной строки подстроку длинной 1 символ начиная с позиции (x2+1) то есть второй инициал и добавим точку- =ПСТР(A1;C4+1;1)&"." результат поместим в ячейку C6
5. Наконец, объединим найденные на шаге 3 и 4 строки- =C5&C6 — в результате будет получена текстовая строка, содержащая фамилию и инициалы студента.
Результат записи всех упомянутые 5 действий в одну формулу представлен на рисунке в ячейке B9, а результат ее выполнения — в ячейке C9:
Сама формула выглядит следующим образом: =ЛЕВСИМВ(A1;ПОИСК(" ";A1;1)+1)&"."&ПСТР(A1;ПОИСК(" ";A1;ПОИСК(" ";A1;1)+1)+1;1)&"."
Если учесть, что пробелом между фамилией именем и отчеством может быть несколько (то есть больше одного), необходимо задействовать в формуде еще одну функцию- СЖПРОБЕЛЫ(текст), которая удаляет из текста все пробелы, за исключением одиночных пробелов между словами.
Таким образом, полная формула для решения задачи, которая должна быть записана в ячейке D4 такова:
=ЛЕВСИМВ(СЖПРОБЕЛЫ(A1);ПОИСК(" ";СЖПРОБЕЛЫ(A1);1)+1)&"."&ПСТР(СЖПРОБЕЛЫ(A1);ПОИСК(" ";СЖПРОБЕЛЫ(A1);ПОИСК(" ";СЖПРОБЕЛЫ(A1);1)+1)+1;1)&"."