Пояснения к лабораторной работе №3_5 Задание 1-C

Задание:

В ячейке 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)&"."