Функция ПСТР в Excel с примером и формулой
В этой статье я бы хотел рассмотреть очень полезную функцию в Excel для работы с текстом – функция ПСТР (в английской версии MID)
Функция ПСТР предназначена для того, чтобы отражать заданное число знаков из текстовой строки, начиная с указанной позиции.
Синтаксис функции ПСТР выглядит следующим образом
ПСТР(текст; начальная_позиция; число_знаков)
Давайте сразу же рассмотрим на примере с использованием формулы ПСТР. Допустим у нас есть вот такой вот список с наименованием товаров и нам необходимо отразить только наименования без слова «Товара» и номера артикула.
Если бы нам надо было бы отразить без слова «Товар», то мы могли бы просто сделать замену слова «Товара» на пусто и получили бы нужный нам результат, но в данном случае у нас это сделать не получиться, так как нам так же нужно убрать артикул.
В данном случае очень хорошо можно использовать функцию ПСТР со следующей формулой. В ячейке «C2» пропишем
=ПСТР(A2;13;50)
A2 — текст, их которого нам необходимо взять определенное количество знаков. В нашем пример это текст «Товар 91823 Naomy из коллекции Naomy»
13 — начальная позиция с которой нам необходимо брать знаки. В этом пример я посчитал самостоятельно количество знаков "Товар 91823 ". Товар 5 знаков + 1 знак пробела + 5 знаков артикула + 1 знак пробела после артикула, итого 12 знаков. Следовательно, нам необходимо брать знаки с 13-й позиции.
50 — число знаков, которое нам необходимо взять, так как я не знаю максимальное количество знаков строки, то на глаз я взял побольше, зная, что нет строк больше, чем 50-ю символами.
Вводим формулу, протягиваем вниз и получаем нужный для нас результат. Конечно, в данном примере я рассмотрел очень простой пример работы функции ПСТР. В большинстве случаев второй, а иногда и третий аргумент вычисляются автоматически с помощью других функций Excel для работы с текстом (НАЙТИ, ДЛСТР) и других. Это мы обязательно рассмотрим в следующих статьях. Цель же данной статьи это показать, принцип работы функции ПСТР и для чего она предназначена.
Если статья помогла вам, будем благодарны, если вы нажмете на социальные кнопки +1 и «Мне нравится» под статьей. Так же вступайте в нашу группу ВКонтакте
Вложение
Добрый день!
Подскажите, пожалуйста, возможно ли вынести из одной ячейки отдельно улицу и номер дома? Таблица очень большая, с двумя-тремя улицами.
По рисунку видно что прям строгих закономерностей нет, но думаю можно привязаться к ‘ул’, ‘наб’ и другим, остальное видимо руками. С домами скорее всего тоже можно, но видимо будут улицы с числами, поэтому тоже что-то руками. В целом можно, но работы будет много.
И так можно:
=ЕСЛИОШИБКА(ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(«*»;ПОДСТАВИТЬ(A1; " "; «*»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1; " "; "")))));A1)
Получил необходимые значения в ячейках с помощью ПСТР, но не могу суммировать результаты между собой. Функция СУММ не видит значения полученные с помощью ПСТР. Как решить этот вопрос?
Положите полученный результат в функцию ЗНАЧЕН()
Эта функция превратит ваши цифры в текстовом формате в числа.
Добрый день уважаемые!
Подскажите возможно ли осуществлять поиск с извлечением текста в подобном случае:
A1: якорь R170 5_0188276
(необходимо извлечь номенклатурный номер — 5_0188276)
А2: розетка потолочная метал. 0108029973
(извлечь необходимо номенклатурный номер — 0108029973)
и так далее, позиций более 10000. Номенклатурные номера имеют разное количество знаков, при этом одно условие всегда неизменно — номенклатурный номер находится всегда в конце текста (единственное бывает, что насуют после номера пробелов).
Буду очень признателен за помощь!
=ПСТР(A1;НАЙТИ(«|»;ПОДСТАВИТЬ(A1; " "; «|»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1; "
"; ""))))+1;32000)
Добрый день! Решили задачу?