Функция ПСТР (MID) в Excel и Google Sheets. Полное руководство

Функция ПСТР (MID) в Excel и Google Sheets Текстовые функции
Содержание
  1. Кратко
  2. Для чего нужна функция
  3. Совместимость
  4. Синтаксис
  5. Разбор аргументов
  6. Поведение при разных условиях
  7. Простые примеры
  8. Пример 1. Извлечение подстроки с заданной позиции
  9. Пример 2. Извлечение даты из текста
  10. Пример 3. Извлечение кода из SKU
  11. Пример 4. Извлечение при превышении длины
  12. Практические сценарии использования
  13. Продажи: извлечение кода товара из артикула
  14. Логистика: извлечение кода региона из инвентарного номера
  15. Бухгалтерия: извлечение номера счёта из описания
  16. Аналитика: извлечение значения из лога
  17. Маркетинг: извлечение поддомена из URL
  18. Комбинации с другими функциями
  19. ПСТР + НАЙТИ (FIND) — динамическое извлечение между разделителями
  20. ПСТР + ПОИСК (SEARCH) — извлечение между словами
  21. ПСТР + НАЙТИ (FIND) — извлечение текста между двумя разделителями
  22. ПСТР + ДЛСТР (LEN) — извлечение до конца строки
  23. ПСТР + ЕСЛИОШИБКА (IFERROR) — защита от ошибок
  24. Частые ошибки пользователей
  25. начальная_позиция указана как 0
  26. Указано отрицательное количество символов
  27. Ожидание, что результат будет числом
  28. Неправильный расчёт позиции
  29. Неожиданный результат из-за скрытых символов
  30. Типичные ошибки (технические)
  31. #ЗНАЧ! (#VALUE!)
  32. Пустая строка
  33. Сравнение ПСТР с альтернативами
  34. Часто задаваемые вопросы
  35. Заключение

Кратко

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

Где работает:
✅ Excel (все версии)
✅ Google Sheets
✅ МойОфис Таблицы

Главное преимущество:
В отличие от ЛЕВСИМВ (LEFT) и ПРАВСИМВ (RIGHT), может извлекать текст из любой позиции — не только из начала или конца строки .

Сложность:
★☆☆☆☆ — Для начинающих (базовое использование)
★★☆☆☆ — Средняя (комбинации с НАЙТИ/ПОИСК)

Для чего нужна функция

Функция ПСТР в Excel используется для извлечения заданного количества символов из текстовой строки, начиная с указанной позиции. В английской версии Excel и Google Sheets ей соответствует функция MID . Она незаменима в следующих сценариях:

  • Извлечение кодов и идентификаторов — получение серийных номеров, кодов товаров или ID из структурированных строк .
  • Парсинг структурированных данных — извлечение части строки с фиксированным форматом (например, дат, артикулов, номеров счетов).
  • Очистка и подготовка данных — выделение нужной информации из текста, содержащего лишнюю информацию .
  • Динамическое извлечение — в комбинации с функциями НАЙТИ (FIND) или ПОИСК (SEARCH) для поиска подстрок между разделителями .

Совместимость

ПлатформаПоддержкаПримечание
Excel Microsoft 365✅ ДаПолная поддержка
Excel 2024, 2021, 2019, 2016✅ ДаПоддерживается во всех версиях
Excel 2013 и старше✅ ДаДоступна во всех версиях
Google Sheets✅ ДаПолная поддержка
МойОфис Таблицы✅ ДаПолная поддержка

Синтаксис

Структура функции одинакова в Excel и Google Sheets . Разделитель аргументов зависит от региональных настроек: ; или , .

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

Разбор аргументов

АргументОбязательныйОписание
текст (text)✅ ДаТекстовая строка, из которой извлекаются символы. Может быть ссылкой на ячейку, текстом в кавычках или результатом другой функции.
начальная_позиция (start_num)✅ ДаПозиция первого извлекаемого символа. Первый символ имеет номер 1 .
число_знаков (num_chars)✅ ДаКоличество символов для извлечения. Значение не может быть отрицательным .

Поведение при разных условиях

УсловиеРезультат
start_num > длина текстаВозвращает пустую строку «»
start_num + num_chars > длина текстаВозвращает все символы от start_num до конца строки
start_num < 1Ошибка #ЗНАЧ! (#VALUE!)
num_chars < 0Ошибка #ЗНАЧ! (#VALUE!)
num_chars = 0Возвращает пустую строку

Простые примеры

Пример 1. Извлечение подстроки с заданной позиции

Исходные данные: A2 содержит текст «Компьютер».

Задача: Извлечь 2 символа, начиная с 4-й позиции.

Позиции символов:

Компьютер
123456789

Формула: =ПСТР(A2; 4; 2)

Результат: "пь"

Объяснение: Функция начинает с 4-го символа («п») и извлекает два символа: «п» и «ь» .

Пример 2. Извлечение даты из текста

Исходные данные: A2 содержит «Заказ от 2024-12-31 поступил».

Позиции символов: З(1) а(2) к(3) а(4) з(5) пробел(6) о(7) т(8) пробел(9) 2(10)…

Формула: =ПСТР(A2; 10; 10)

Результат: "2024-12-31"

Объяснение: Извлекаются 10 символов, начиная с 10-й позиции .

Пример 3. Извлечение кода из SKU

Исходные данные: A2 содержит «PRD-2024-ABC-789».

Задача: Извлечь год из SKU.

Формула: =ПСТР(A2; 5; 4)

Результат: "2024"

Объяснение: Нужный год начинается с 5-й позиции и состоит из 4 символов .

Пример 4. Извлечение при превышении длины

Исходные данные: A2 содержит текст «Поток воды» (10 символов) .

Формула: =ПСТР(A2; 7; 20)

Результат: "воды"

Объяснение: Так как 7 + 20 превышает длину строки (10), функция возвращает все символы с 7-й позиции до конца строки .

Практические сценарии использования

Продажи: извлечение кода товара из артикула

Задача: Из артикула формата «категория-код-год» извлечь код товара .

Исходные данные: A2 содержит «ELC-2451-24».

Формула: =ПСТР(A2; 5; 4)

Результат: "2451"

Логистика: извлечение кода региона из инвентарного номера

Задача: Извлечь первые цифры после префикса «REG».

Исходные данные: A2 содержит «REG-123-4567».

Формула: =ПСТР(A2; 5; 3)

Результат: "123"

Бухгалтерия: извлечение номера счёта из описания

Задача: Из описания «Счет 40817810123456789123» извлечь номер счёта.

Формула: =ПСТР(A2; 6; 20)

Результат: "40817810123456789123"

Аналитика: извлечение значения из лога

Задача: Из строки «Status: OK, Value: 12345» динамически извлечь значение.

Формула (динамический вариант): =ПСТР(A2; НАЙТИ("Value: "; A2)+7; ДЛСТР(A2))

Результат: "12345"

Объяснение: Функция находит позицию слова «Value: », добавляет 7 символов (длина «Value: ») и извлекает всё до конца строки .

Маркетинг: извлечение поддомена из URL

Задача: Из URL «https://shop.example.com» извлечь поддомен.

Формула: =ПСТР(A2; 9; 4)

Результат: "shop"

Комбинации с другими функциями

ПСТР + НАЙТИ (FIND) — динамическое извлечение между разделителями

Задача: Извлечь текст между скобками.

Исходные данные: A2 содержит «Код (12345) товара».

Формула: =ПСТР(A2; НАЙТИ("("; A2)+1; НАЙТИ(")"; A2)-НАЙТИ("("; A2)-1)

Результат: "12345"

Объяснение: Функция находит позиции открывающей и закрывающей скобок и извлекает всё, что между ними .

ПСТР + ПОИСК (SEARCH) — извлечение между словами

Задача: Извлечь текст между двумя словами.

Исходные данные: A2 содержит «Начало текст Конец».

Формула: =СЖПРОБЕЛЫ(ПСТР(A2; ПОИСК("Начало"; A2)+7; ПОИСК("Конец"; A2)-ПОИСК("Начало"; A2)-8))

Результат: "текст"

Объяснение: +7 — учитывается длина слова «Начало» и пробел после него . -8 — корректировка для удаления пробелов вокруг найденного текста. СЖПРОБЕЛЫ удаляет лишние пробелы .

ПСТР + НАЙТИ (FIND) — извлечение текста между двумя разделителями

Задача: Извлечь текст между двумя дефисами .

Формула: =ПСТР(A2; НАЙТИ("-"; A2)+1; НАЙТИ("-"; A2; НАЙТИ("-"; A2)+1)-НАЙТИ("-"; A2)-1)

Результат: Извлекается текст между первым и вторым дефисом.

ПСТР + ДЛСТР (LEN) — извлечение до конца строки

Задача: Извлечь все символы с определённой позиции до конца.

Формула: =ПСТР(A2; НАЙТИ(":"; A2)+1; ДЛСТР(A2))

Результат: Извлекается текст после двоеточия до конца строки.

ПСТР + ЕСЛИОШИБКА (IFERROR) — защита от ошибок

Задача: Защитить формулу от ситуации, когда разделитель не найден.

Формула: =ЕСЛИОШИБКА(ПСТР(A2; НАЙТИ("("; A2)+1; НАЙТИ(")"; A2)-НАЙТИ("("; A2)-1); "")

Частые ошибки пользователей

начальная_позиция указана как 0

Ситуация: =ПСТР(A2; 0; 5)

Результат: #ЗНАЧ! (#VALUE!)

Решение: Нумерация символов начинается с 1, а не с 0.

Указано отрицательное количество символов

Ситуация: =ПСТР(A2; 3; -1)

Результат: #ЗНАЧ! (#VALUE!)

Решение: Убедитесь, что число_знаков больше или равно 0.

Ожидание, что результат будет числом

Ситуация: После извлечения цифр результат не участвует в числовых расчётах .

Причина: ПСТР всегда возвращает текст .

Решение: Используйте =ЗНАЧЕН(ПСТР(...)) для преобразования в число.

Неправильный расчёт позиции

Ситуация: Пробелы и знаки препинания не учитываются при подсчёте позиции .

Решение: Помните, что все символы считаются: буквы, цифры, пробелы, дефисы, скобки.

Неожиданный результат из-за скрытых символов

Ситуация: В тексте есть непечатаемые символы или лишние пробелы.

Решение: Используйте СЖПРОБЕЛЫ (TRIM) и ПЕЧСИМВ (CLEAN) перед извлечением.

Типичные ошибки (технические)

#ЗНАЧ! (#VALUE!)

Причина:

  • начальная_позиция меньше 1.
  • число_знаков отрицательное.
  • Аргументы не являются числами.

Решение: Проверьте, что оба числовых аргумента корректны.

Пустая строка

Причина:

  • начальная_позиция больше длины текста.
  • число_знаков равно 0.

Решение: Проверьте длину текста с помощью ДЛСТР (LEN).

Сравнение ПСТР с альтернативами

КритерийПСТР (MID)ЛЕВСИМВ (LEFT)ПРАВСИМВ (RIGHT)
Позиция извлеченияЛюбаяНачало строкиКонец строки
Основное использованиеПроизвольный фрагмент текстаПрефиксы, кодыСуффиксы, расширения
Аргументы(текст; начальная_позиция; количество)(текст; [количество])(текст; [количество])
ГибкостьВысокаяСредняяСредняя

Часто задаваемые вопросы

Вопрос: В каких версиях Excel работает ПСТР (MID)?
Ответ: Во всех версиях Excel и Google Sheets .

Вопрос: С какого числа начинается отсчёт позиций?
Ответ: Первый символ в тексте имеет начальную позицию 1, а не 0 .

Вопрос: Что будет, если начальная_позиция больше длины текста?
Ответ: Функция вернёт пустую строку «» .

Вопрос: Что будет, если сумма начальная_позиция + число_знаков превышает длину текста?
Ответ: Функция вернёт все символы от начальная_позиция до конца строки .

Вопрос: Можно ли использовать ПСТР с числами?
Ответ: Да, но числа будут преобразованы в текст. Для числовых расчётов используйте ЗНАЧЕН (VALUE) .

Вопрос: В чём разница между ПСТР и ПСТРБ?
Ответ: ПСТР работает с количеством символов, а ПСТРБ — с количеством байтов. Функция ПСТРБ устарела .

Заключение

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

Ключевые правила:

  1. Нумерация позиций начинается с 1 .
  2. ПСТР всегда возвращает текст — для числовых расчётов используйте ЗНАЧЕН .
  3. Пробелы и знаки препинания считаются как символы .
  4. Если начальная_позиция больше длины текста — возвращается пустая строка .
  5. Для динамического извлечения используйте комбинацию с НАЙТИ (FIND) или ПОИСК (SEARCH) .

Освойте ПСТР — и вы сможете извлекать нужные фрагменты из структурированных данных, будь то коды товаров, номера счетов или любые другие данные из середины текста. Это фундаментальный навык для работы с текстом в электронных таблицах.

Оцените статью
Формулион
Добавить комментарий