Как пользоваться функцией пстр в excel

Обновлено: 03.07.2024

В этой статье описаны синтаксис формулы и использование функций ПСТР и ПСТРБ в Microsoft Excel.

Описание

Функция ПСТР возвращает заданное число знаков из текстовой строки, начиная с указанной позиции.

Функция ПСТРБ возвращает определенное число знаков из текстовой строки, начиная с указанной позиции, на основе заданного числа байтов.

Эти функции могут быть доступны не на всех языках.

Функция ПСТР предназначена для языков с однобайтовой кодировкой, а ПСТРБ — для языков с двухбайтовой кодировкой. Язык по умолчанию, заданный на компьютере, влияет на возвращаемое значение следующим образом.

Функция ПСТР всегда считает каждый символ (одно- или двухбайтовый) за один вне зависимости от языка по умолчанию.

Функция ПСТРБ считает каждый двухбайтовый символ за два, если включена поддержка ввода на языке с двухбайтовой кодировкой, а затем этот язык назначен языком по умолчанию. В противном случае функция ПСТРБ считает каждый символ за один.

К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

Синтаксис

Аргументы функций ПСТР и ПСТРБ описаны ниже.

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

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

Если start_num больше, чем длина текста, то для ПМС и ПБ возвращается "" (пустой текст).

Если start_num меньше, чем длина текста, но start_num плюс num_chars превышает длину текста, то mid/MIDB возвращает символы до конца текста.

Число_знаков Требуется для mid. Указывает, сколько знаков должна вернуть функция ПСТР.

Число_байтов Требуется для midB. Указывает, сколько знаков должна вернуть функция ПСТРБ (в пересчете на байты).

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Возвращает пять знаков из строки в ячейке А2, начиная с первого знака.

Возвращает двадцать знаков из строки в ячейке А2, начиная с седьмого знака. Так как количество возвращаемых знаков (20) больше длины строки (10), возвращаются все знаки, начиная с седьмого. Пустые символы (пробелы) не добавляются в конец строки.

Так как начальная позиция больше, чем длина строки (10), возвращается пустая строка.

Чтобы просмотреть более подробные сведения о функции, щелкните ее название в первом столбце.

Примечание: Маркер версии обозначает версию Excel, в которой она впервые появилась. В более ранних версиях эта функция отсутствует. Например, маркер версии 2013 означает, что данная функция доступна в выпуске Excel 2013 и всех последующих версиях.

Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полноширинные (двухбайтовые) знаки в полуширинные (однобайтовые).

Преобразует число в текст, используя денежный формат ß (БАТ).

Возвращает символ с заданным кодом.

Удаляет из текста все непечатаемые символы.

Возвращает числовой код первого знака в текстовой строке.

Объединяет текст из нескольких диапазонов или строк, но не добавляет разделитель или аргументы IgnoreEmpty.

Объединяет несколько текстовых элементов в один.

Excel 2013

DBCS

Для языков с двухбайтовыми наборами знаков (например, катакана) преобразует полуширинные (однобайтовые) знаки в текстовой строке в полноширинные (двухбайтовые).

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

Проверяет идентичность двух текстовых значений.

Ищет вхождения одного текстового значения в другом (с учетом регистра).

Форматирует число и преобразует его в текст с заданным числом десятичных знаков.

Возвращают крайние слева знаки текстового значения.

Возвращают количество знаков в текстовой строке.

Преобразует все буквы текста в строчные.

Возвращают заданное число знаков из строки текста, начиная с указанной позиции.

Excel 2013

ЧЗНАЧ

Преобразует текст в число независимо от языкового стандарта.

Извлекает фонетические (фуригана) знаки из текстовой строки.

Преобразует первую букву в каждом слове текста в прописную.

Заменяют знаки в тексте.

Повторяет текст заданное число раз.

Возвращают крайние справа знаки текстовой строки.

Ищут вхождения одного текстового значения в другом (без учета регистра).

Заменяет в текстовой строке старый текст новым.

Преобразует аргументы в текст.

Форматирует число и преобразует его в текст.

Объединяет текст из нескольких диапазонов или строк, вставляя между текстовыми значениями указанный разделитель. Если в качестве разделителя используется пустая текстовая строка, функция эффективно объединит диапазоны.

Удаляет из текста пробелы.

Excel 2013

ЮНИСИМВ

Возвращает символ Юникод, на который ссылается заданное числовое значение.

Excel 2013

UNICODE

Возвращает число (кодовую страницу), которая соответствует первому символу текста.

Преобразует все буквы текста в прописные.

Преобразует текстовый аргумент в число.

Важно: Вычисляемые результаты формул и некоторые функции листа Excel могут несколько отличаться на компьютерах под управлением Windows с архитектурой x86 или x86-64 и компьютерах под управлением Windows RT с архитектурой ARM. Подробнее об этих различиях.

Одна из самых важных задач при редактировании текстовых строк в Excel – это отделение части строки для получения фрагмента текста.

Примеры основных текстовых функций в Excel с описанием

С помощью текстовых функций: ЛЕВСИМВ, ПРАВСИМВ и ПСТР в процессе офисной работы можно быстро и легко решить такие задачи как:

  • преобразование территориального кода в почтовый код;
  • удаление кода страны или кода оператора сотовой связи в номерах телефонов
  • выборка фрагмента кода сотрудника или должности из номера картотеки в базе данных кадрового отдела;
  • и похожие другие задачи…

Умение быстро решать подобного рода базовые задачи в Excel пригодиться каждому офисному сотруднику.

На рисунке примеров показано, как легко с помощью текстовых функций ЛЕВСИМВ, ПРАВСИМВ и ПСТР реализуются решения выше описанных задач:

Функции ЛЕВСИМВ ПРАВСИМВ и ПСТР.

Функция ЛЕВСИМВ предоставляет возможность пользователю Excel отделить от значения ячейки фрагмент текста или числа с определенным количеством символов от начала исходной строки данных. Данная функция требует указать 2 аргумента:

  1. Текст – исходные данные. Поддерживает и другие типы значений кроме текстовых: число, логическое значение. Не поддерживает значение ошибок, а дату воспринимает как числовое значение.
  2. Количество_знаков – количество символов, взятых от начала, которые следует оставить в фрагменте текста при отделения его от строки. Другими словами, длина вырезанного фрагмента текста с левой стороны исходной строки.

В примере функция =ЛЕВСИМВ(A2 ;5) отделяет 5 первых чисел из текста в ячейке A2.

Текстовая функция ПРАВСИМВ предоставляет возможность отделения определенного количества символов с конца исходной текстовой строки. Фактически данная функция работает обратно пропорционально для ЛЕВСИМВ. И требует заполнить такие же аргументы. Главное отличие — это направление действия функции: с права на лево, то есть начиная отсчет символов с конца.

В данном примере с помощью текстовой функции ПРАВСИМВ отделяется правая часть номеров телефонов сотрудников фирмы. Это 9 последних знаков в конце: =ПРАВСИМВ(A6;9).

Следующая текстовая функция ПСТР более продвинутая. Она позволяет получить фрагмент текста из середины исходной строки. Функция ПСТР требует заполнить 3 аргумента:

  1. Текст – исходные данные (текстовое либо числовое значение).
  2. Начальная_позиция – порядковый номер символа от начала строки с которого следует начать отделение фрагмента текста.
  3. Количество_знаков – количество символов, взятых из середины текста в исходных данных.

В описанном примере функция =ПСТР(A10;4;1) – отделяет только одно числовое значение начинающиеся от 4-го символа с начала исходной строки.

Чтобы объединить значения (текстовые, цифровые) из разных ячеек в одну, используется функция СЦЕПИТЬ. Ее аналог – & (амперсанд). Знак справляется с простейшими задачами. Но для объединения множества строк не подходит.

Синтаксис функции СЦЕПИТЬ

Функция входит в группу «текстовые». Синтаксис: (текст 1; текст 2;…). Можно включить до 255 текстовых строк. Первый аргумент – «текст 1» – является обязательным. Любые аргументы можно указать в виде текста, цифр или ссылок на ячейки.

Общие правила использования функции СЦЕПИТЬ:

Как пользоваться функцией СЦЕПИТЬ в Excel

Начнем с простейших примеров.

Данные для объединения:

Данные для объединения.

Ставим курсор в ячейку Е2 и вызываем мастер функций (кнопка fx). В категории «Текстовые» находим функцию СЦЕПИТЬ. Аргументы – ссылки на ячейки А2, В2, С2 и пробелы:

СЦЕПИТЬ.

Результат объединения значений в ячейках:

Результат.

Такой же результат получим с помощью амперсанда:

Результат 1.

Один из аргументов – текст. Формула: =СЦЕПИТЬ("слесарь"; " ";A2;" ";B2;" ";C2). Результат:

Результат 2.

И с более сложными задачами справится функция СЦЕПИТЬ в Excel. Примеры:

  1. Соединим текст с датой. Данные находятся в отдельных ячейках. Для столбца «Дата» установлен формат «Дата». Если использовать только функцию СЦЕПИТЬ, дата отобразится в числовом формате. Поэтому добавим функцию ТЕКСТ для форматирования чисел. Формула: Второй аргумент функции ТЕКСТ – формат представления даты. Результат:
  2. Соединим сразу много ячеек в строке. Если писать формулу с функцией СЦЕПИТЬ, получится долго и малоэффективно. Используем маленькую хитрость. Вот наша строка со значениями в отдельных ячейках. В ячейку Н1 ставим знак «равно». Выделяем диапазон со значениями А1:F1. Вводим амперсанд & и пробел “ “. Жмем F9. В строке формул появится формула массива. Ставим курсор в строку формул после знака «равно». Пишем название функции. Фигурные скобки заменяем на круглые и жмем ВВОД. Получаем нужный результат.
  3. Соединим значения через косую черточку («-», «&» и т.п.). Формула будет выглядеть так: = СЦЕПИТЬ (ссылка на ячейку 1; «/»; ссылка на ячейку 2).
  4. Соединим несколько значений в столбце. Функция подходит для значений в строках. Описанный выше способ с формулой массива тоже не сработает.

Преобразуем вертикальный диапазон в горизонтальный с помощью функции ТРАНСП. А затем воспользуемся формулой массива для быстрого соединения значений. В ячейку В1 ставим знак «равно». Пишем ТРАНСП. Указываем диапазон А1:А6. Вводим & и пробел (« »). Жмем F9.

ТРАНСП.

Теперь преобразуем формулу массива, добавив функцию и заменив скобки.

Формула массива.

Обратная функция СЦЕПИТЬ в Excel

Стандартной функции, которая разделяла бы значения одной ячейки, нет. Для выполнения ряда подобных задач можно использовать другие функции:

  • ЛЕВСИМВ (отображает заданную часть символов с начала строки);
  • ПРАВСИМВ (отображает заданную часть символов с конца строки);
  • ПСТР (отображает указанную часть символов, начиная с заданной позиции) и другие.
  1. Извлечем первое слово из строки, применив функцию ЛЕВСИМВ. Аргументы – «текст» (ссылка на строку с искомым значением), «количество знаков» (число символов, которые нужно извлечь).
  2. Извлечем последнее слово из строки с помощью функции ПРАВСИМВ. Синтаксис похожий (как в предыдущем примере). Только количество знаков считается с конца.
  3. Извлечем из записи в строке фамилию (второе слово) с помощью функции ПСТР. Аргументы – «текст» (ссылка на строку), «начальная позиция» (номер символа, с которого программа начнет считать число знаков); «количество знаков». В примере: Е2 – «текст», с 9 знака функция вернет 8 символов.

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

Читайте также: