Примеры функции ПСТР и как вырезать часть текста в ячейке Excel
Функция ПСТР (для однобайтовых кодировок) отображает заданное пользователем количество знаков из текстовой строки. Отсчет ведется с указанной позиции. Подобную задачу решает и функция ПСТРБ. Только она работает с двухбайтовыми знаками (возвращает заданное число байт).
Особенности и синтаксис
Каждый символ для функции – один знак. Вне зависимости от вида кодировки. Для ПСТРБ двухбайтовый символ – два знака (если включена двухбайтовая кодировка). Причем этот язык является языком по умолчанию. Двухбайтовую кодировку поддерживает японский, китайский и корейский языки.
Вернемся к функции ПСТР. Ее синтаксис:
- Текстовая строка. Текст с символами, которые функции нужно извлечь.
- Заданная позиция. Начальная позиция определенного знака в тексте, с которого начнется отсчет. Позиция первого извлекаемого знака – 1.
- Количество знаков. Сколько символов функции нужно вернуть.
Все аргументы обязательные.
Особенности работы функции:
- Если количество знаков аргумента «Начальная позиция» превышает длину текстовой строки, то в результате мы получим пустую строку.
- Если значение аргумента «Начальная позиция» меньше единицы, вернется ошибка #ЗНАЧ!.
- Если аргумент «Количество знаков» имеет отрицательное значение, то функция возвращает ошибку #ЗНАЧ!.
Функция ПСТР в Excel предназначена для работы с текстовыми данными.
Примеры функции ПСТР в Excel
Рассмотрим, как работает ПСТР, на хрестоматийном примере.
Данные:

Формула:

Функция ПСТР анализирует текстовое значение в ячейке А1 (первый аргумент) и возвращает 7 знаков (третий аргумент), начиная с первого (второй аргумент).
Формула:

Она возвращает из ячейки А1 (первый аргумент) 4 знака (третий аргумент), начиная с девятого (второй аргумент). Пробелы тоже считаются. 9 – начальная позиция, с которой функция будет брать знаки. В примере мы самостоятельно посчитали количество знаков: «функция» - 7 знаков + 1 знак пробела. Итого: 8 знаков.
4 – третий аргумент – число символов, которое функция вернет. В данном примере это количество легко подсчитать. Если максимальное количество знаков строки неизвестно, можно указать на глаз, побольше. Например, 50 символов (длиннее строк не существует).
Формула:

Так как длина текстовой строки в ячейке А1 (первый аргумент) меньше начальной позиции (второй аргумент), в результате получаем пустую строку.
Рассмотрим практическое применение функции.

Из перечня товаров нам необходимо извлечь наименования коллекций. Для этих целей данная формула подходит как нельзя лучше.
Применим формулу:

Допустим, количество символов заранее неизвестно. Либо, как в нашем примере, число символов до искомого значения отличается. Тогда ПСТР используется совместно с функцией НАЙТИ.

Функция НАЙТИ помогает определить число знаков по какому-либо признаку. В примере – отыскивает слово «коллекция» для функции ПСТР. Последняя возвращает текст от искомого знака. Корректировка +10 учитывает, что искомый текст тоже входит в подсчет. Но возвращать его не нужно.
Предположим, цифры в примере обозначают не артикулы, а стоимость товаров.

Мы извлекли необходимые значения – цены. Но суммировать их обычным способом не получается.

Функция СУММ не распознает значения, полученные посредством функции ПСТР. Так как цифры представлены в текстовом формате. Чтобы превратить их в числа, необходимо в отношении полученного результата применить функцию ЗНАЧЕН.

Таким образом, ПСТР входит в группу текстовых функций Excel и возвращает указанное количество символов из заданной строки, начиная с заданной позиции. На практике редко используется самостоятельно, т.к. точно указать число символов во всем диапазоне для аргументов функции достаточно сложно.