Функция ПСТР в Excel с примером и формулой

В этой статье я бы хотел рассмотреть очень полезную функцию в Excel для работы с текстом – функция ПСТР (в английской версии MID)

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

Синтаксис функции ПСТР выглядит следующим образом

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

Давайте сразу же рассмотрим на примере с использованием формулы ПСТР. Допустим у нас есть вот такой вот список с наименованием товаров и нам необходимо отразить только наименования без слова «Товара» и номера артикула.

пример функции ПСТР в Excel - исходные данные

 

Если бы нам надо было бы отразить без слова «Товар», то мы могли бы просто сделать замену слова «Товара» на пусто и получили бы нужный нам результат, но в данном случае у нас это сделать не получиться, так как нам так же нужно убрать артикул.

В данном случае очень хорошо можно использовать функцию ПСТР со следующей формулой. В ячейке «C2» пропишем

=ПСТР(A2;13;50)

A2 — текст, их которого нам необходимо взять определенное количество знаков. В нашем пример это текст «Товар 91823 Naomy из коллекции Naomy»

13 — начальная позиция с которой нам необходимо брать знаки. В этом пример я посчитал самостоятельно количество знаков «Товар 91823 «. Товар 5 знаков + 1 знак пробела + 5 знаков артикула + 1 знак пробела после артикула, итого 12 знаков. Следовательно, нам необходимо брать знаки с 13-й позиции.

50 — число знаков, которое нам необходимо взять, так как я не знаю максимальное количество знаков строки, то на глаз я взял побольше, зная, что нет строк больше, чем 50-ю символами. 

"Товар 91823

 

Вводим формулу, протягиваем вниз и получаем нужный для нас результат. Конечно, в данном примере я рассмотрел очень простой пример работы функции ПСТР. В большинстве случаев второй, а иногда и третий аргумент вычисляются автоматически с помощью других функций Excel для работы с текстом (НАЙТИ, ДЛСТР) и других. Это мы обязательно рассмотрим в следующих статьях. Цель же данной статьи это показать, принцип работы функции ПСТР и для чего она предназначена.

Если статья помогла вам, будем благодарны, если вы нажмете на социальные кнопки +1 и «Мне нравится» под статьей. Так же вступайте в нашу группу ВКонтакте

Поделиться:
11 Комментариев
  • Руслан says:

    я задал вопрос неделю назад, его так и не опубликовали

  • Руслан says:

    приветсвую.
    есть такая формула на шел в семтулс
    =ПОДСТАВИТЬ(A1;ПСТР(A1;МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА(65:90));A1);1000));1);ПРОПИСН(ПСТР(A1;МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА(65:90));A1);1000));1));1)
    в описании написано что формула меняет первую букву в предложении в котором будет латиница.
    как написать формулу чтобы она поменяла на заглавную первые буквы латиницы , но слов в предожении много. надо именно латиницу чтобы буквы были заглавные а кириллица осталась как есть.
    Ситуция такая:
    Есть строка в которой первая строчка из нескольких слов написана латиницей, затем вторая строчка которая идет после нажатия алт+ентер написано на кириллице.
    Мне вот надо чтобы первая строчка которая латиницей сделать каждое слово с заглавной буквы.
    БЛАГОДАРЮ!

  • Оксана says:

    Добрый день! Как видоизменить формулу, если мне необходимо убрать весь текст до «\»? Проблема в том, что формула видит только первое значение «\», а мне нужно последнее. В ячейке, таких знаков по 5 шт. Может формула нужна другая?

  • Анна says:

    Вложение

    Добрый день!
    Подскажите, пожалуйста, возможно ли вынести из одной ячейки отдельно улицу и номер дома? Таблица очень большая, с двумя-тремя улицами.

    • excel says:

      По рисунку видно что прям строгих закономерностей нет, но думаю можно привязаться к ‘ул’, ‘наб’ и другим, остальное видимо руками. С домами скорее всего тоже можно, но видимо будут улицы с числами, поэтому тоже что-то руками. В целом можно, но работы будет много.

  • Alex says:

    И так можно:
    =ЕСЛИОШИБКА(ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(«*»;ПОДСТАВИТЬ(A1;» «;»*»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»)))));A1)

  • Глеб says:

    Получил необходимые значения в ячейках с помощью ПСТР, но не могу суммировать результаты между собой. Функция СУММ не видит значения полученные с помощью ПСТР. Как решить этот вопрос?

    • excel says:

      Положите полученный результат в функцию ЗНАЧЕН()
      Эта функция превратит ваши цифры в текстовом формате в числа.

  • Андрей says:

    Добрый день уважаемые!
    Подскажите возможно ли осуществлять поиск с извлечением текста в подобном случае:

    A1: якорь R170 5_0188276
    (необходимо извлечь номенклатурный номер — 5_0188276)
    А2: розетка потолочная метал. 0108029973
    (извлечь необходимо номенклатурный номер — 0108029973)

    и так далее, позиций более 10000. Номенклатурные номера имеют разное количество знаков,при этом одно условие всегда неизменно — номенклатурный номер находится всегда в конце текста (единственное бывает, что насуют после номера пробелов).
    Буду очень признателен за помощь!

    • Зина says:

      =ПСТР(A1;НАЙТИ(«|»;ПОДСТАВИТЬ(A1;» «;»|»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;»
      «;»»))))+1;32000)

    • excel says:

      Добрый день! Решили задачу?

Добавить комментарий

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

×
Рекомендуем посмотреть