Чтение онлайн

на главную - закладки

Жанры

MS Excel. Приемы работы с данными
Шрифт:

Синтаксис функции.

ПСТР(текст, начальная_позиция, число_знаков)

Аргументы функции.

Текст  Обязательный. Текстовая строка, содержащая символы, которые требуется извлечь.

Начальная_позиция Обязательный. Позиция первого знака, извлекаемого из текста. Первый знак в тексте имеет начальную позицию 1 и так далее.

Число_знаков Обязательный. Указывает,

сколько знаков должна вернуть функция «ПСТР».

Переменную аргумента «начальная позиция» получаем, функцией «НАЙТИ», в ячейке B1 вводим формулу «=НАЙТИ(" ";A1;1)+1» находим начальную позицию слова «Имя». Для получения переменой аргумента «число_знаков» необходимо от позиции второго пробела отнять начальную позицию слова «Имя». Для получения позиции второго пробела вспомним о необязательном аргументе функции «НАЙТИ» «Нач_позиция» позиция, с которой нужно начать поиск, в нашем примере поиск мы должны начать с позиции начала слова «Имя», иначе функция нам вернет позицию первого пробела.

В ячейку C1 вводим формулу «=НАЙТИ(" ";A1;B1)» получаем позицию второго пробела.

Для получения слова «Имя» в ячейку D1 вводим формулу «=ПСТР(A1;B1;C1-B1)».

Запишем все формулы в виде одной.

Выполним последовательно следующие действия:

1. В ячейке С1 формулу «=НАЙТИ(" ";A1;B1)» меняем на «=НАЙТИ(" ";A1;НАЙТИ(" ";A1;1)+1)»;

2. В ячейке D1 формулу «=ПСТР(A1;B1;C1-B1)» меняем на «=ПСТР(A1;НАЙТИ(" ";A1;1)+1;НАЙТИ(" ";A1;НАЙТИ(" ";A1;1)+1)-(НАЙТИ(" ";A1;1)+1))». Для корректности расчетов формулу из ячейки B1 необходимо взять в скобки.

Но можно и не усложнять формулы так сильно, а скрывать столбцы с промежуточными расчетами.

Получив слово «Имя» и используя функцию «ЛЕВСИМВ» вводим в ячейку E1 формулу – «=ЛЕВСИМВ(D1)» и получим первую букву имени.

Для добавления точки в конце инициала, используем функцию «СЦЕПИТЬ» Данная функция объединяет до 255 текстовых строк в одну. Объединяемые элементы могут быть текстом, числами, ссылками на ячейки или сочетанием этих элементов. Аргументами функции являются минимум две тактовые строки, которые необходимо сцепить. В ячейку F1 вводим формулу «=СЦЕПИТЬ(E2;".")» получаем первый инициал с точкой. Точка, как и любая текстовая строка, в формуле берется в двойные кавычки – ".".

Для получения второго инициала действия аналогичные, получаем слово «Отчество» берем от него первую букву и добавляем точку в конце.

Алгоритм действий получения отчества: вернуть из строки с ФИО количество символов от второго пробела до конца строки. Для реализации алгоритма используем функцию «ПСТР». Для получения переменой аргумента «число_знаков» нам необходимо от числа символов строки отнять начальную позицию слова «Отчество»+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).

Поделиться:
Популярные книги

Бестужев. Служба Государевой Безопасности

Измайлов Сергей
1. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности

Аномальный наследник. Том 1 и Том 2

Тарс Элиан
1. Аномальный наследник
Фантастика:
боевая фантастика
альтернативная история
8.50
рейтинг книги
Аномальный наследник. Том 1 и Том 2

Советник 2

Шмаков Алексей Семенович
7. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Советник 2

Архил…? Книга 3

Кожевников Павел
3. Архил...?
Фантастика:
фэнтези
попаданцы
альтернативная история
7.00
рейтинг книги
Архил…? Книга 3

В прятки с отчаянием

AnnysJuly
Детективы:
триллеры
7.00
рейтинг книги
В прятки с отчаянием

Страж Кодекса. Книга II

Романов Илья Николаевич
2. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга II

Божьи воины. Трилогия

Сапковский Анджей
Сага о Рейневане
Фантастика:
фэнтези
8.50
рейтинг книги
Божьи воины. Трилогия

Измена. Избранная для дракона

Солт Елена
Любовные романы:
любовно-фантастические романы
3.40
рейтинг книги
Измена. Избранная для дракона

Вонгозеро

Вагнер Яна
1. Вонгозеро
Детективы:
триллеры
9.19
рейтинг книги
Вонгозеро

Довлатов. Сонный лекарь 2

Голд Джон
2. Не вывожу
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Довлатов. Сонный лекарь 2

Город Богов

Парсиев Дмитрий
1. Профсоюз водителей грузовых драконов
Фантастика:
юмористическая фантастика
детективная фантастика
попаданцы
5.00
рейтинг книги
Город Богов

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Я тебя не предавал

Бигси Анна
2. Ворон
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Я тебя не предавал

Я – Стрела. Трилогия

Суббота Светлана
Я - Стрела
Любовные романы:
любовно-фантастические романы
эро литература
6.82
рейтинг книги
Я – Стрела. Трилогия