Функции и формулы

Текстовые функции в Excel: как разобрать строку, найти символ и перевести число

Текстовые функции Excel — это формулы для тех, кто разбирает строки: вырезает код из артикула, делит ФИО на имя и фамилию, превращает число в подпись. По справке Microsoft ПСТР с начальной позицией меньше 1 даёт #ЗНАЧ!, а позиция за концом строки — пустой результат[1]. Ниже — ЛЕВСИМВ, ПСТР, ПОИСК и ЗНАЧЕН на примерах, таблица ошибок и границы применения.

Тренажёр: 7 шагов

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

Текстовые функции Excel решают задачу одной формулой на весь столбец. Порядок работы одинаков: найти подходящую функцию в справочнике, ввести формулу с аргументами через точку с запятой, проверить результат на строке без разделителя, исправить ошибку #ЗНАЧ! и протянуть формулу на свои данные. Главный риск — тихий промах: результат ПСТР выглядит как число, но остаётся строкой, и сумма по столбцу не сходится.

Ключевые факты: текстовые функции Excel

  • Текстовые функции работают со строкой как с цепочкой знаков: считают их, вырезают часть и ищут позицию нужного символа.
  • Ячейка вмещает не больше 32 767 знаков, а запись формулы — не больше 8 192 знаков[3].
  • ПСТР возвращает #ЗНАЧ!, если начальная позиция меньше 1 или число знаков отрицательное[1].
  • НАЙТИ отличается от ПОИСК учётом регистра: первая различает «А» и «а», вторая — нет[2].
  • Справка Microsoft советует хранить исходное число в одной ячейке, а функцию ТЕКСТ применять в другой[4].

Какие текстовые функции Excel нужны для разбора строк

Текстовые функции Excel считают знаки, вырезают часть строки и ищут позицию символа. Каждая принимает строку в кавычках или ссылку на ячейку, а аргументы в русской версии разделяются точкой с запятой. Все примеры ниже считаются на одном листе:

A
1Исходная строка
2Иван Петров
3АРТ-2045-МСК
4Ольга

Таблица собирает функции, которые закрывают большую часть задач со строками. Результаты пересчитаны в движке тренажёра на данных листа выше[7].

ФункцияЧто делаетПримерРезультат
ДЛСТРсчитает знаки, включая пробелы=ДЛСТР(A2)11
ЛЕВСИМВберёт знаки слева=ЛЕВСИМВ(A3;3)АРТ
ПРАВСИМВберёт знаки справа=ПРАВСИМВ(A3;3)МСК
ПСТРберёт знаки с заданной позиции=ПСТР(A3;5;4)2045
ПОИСКищет позицию без учёта регистра=ПОИСК("а";"Анна")1
НАЙТИищет позицию с учётом регистра=НАЙТИ("а";"Анна")4
СЖПРОБЕЛЫубирает лишние пробелы=СЖПРОБЕЛЫ(" чай зелёный ")чай зелёный
ПРОПНАЧделает заглавной первую букву слов=ПРОПНАЧ("мАРИЯ иванова")Мария Иванова
ТЕКСТпревращает число в строку по формату=ТЕКСТ(1234;"0000000")0001234
ЗНАЧЕНпревращает строку с цифрами в число=ЗНАЧЕН(ПСТР(A3;5;4))+12046

Текстовые функции Excel почти всегда работают в связке из двух-трёх формул: одна находит позицию разделителя, вторая вырезает кусок, третья меняет тип результата. Регистр меняют ПРОПИСН, СТРОЧН и ПРОПНАЧ — справка Microsoft приводит их среди способов очистки данных. Текст внутри формулы пишется только в кавычках: без них Excel примет слово за имя и вернёт #ИМЯ?.

Разобравшись с набором функций, переходим к главной задаче — извлечь часть строки, когда длина куска заранее известна или меняется от ячейки к ячейке.

Как извлечь часть строки: ЛЕВСИМВ, ПРАВСИМВ и ПСТР

Функция ПСТР возвращает заданное число знаков из середины строки с указанной позиции. Синтаксис по справке Microsoft — ПСТР(текст;начальная_позиция;число_знаков), а ЛЕВСИМВ и ПРАВСИМВ обходятся двумя аргументами: строкой и количеством знаков с края[1]. Если второй аргумент ЛЕВСИМВ опущен, функция возвращает 1 знак, а количество больше длины строки возвращает весь текст[5].

Текстовые функции Excel этой тройки отличаются только точкой отсчёта: начало строки, конец или произвольная позиция. Когда длина куска постоянна, хватает одной функции: код склада в «АРТ-2045-МСК» — всегда три последних знака, =ПРАВСИМВ(A3;3). Когда длина меняется, как у имён, позицию разделителя находит ПОИСК. Разделим «Иван Петров» на имя и фамилию:

  1. Выберите B2 и введите =ЛЕВСИМВ(A2;ПОИСК(" ";A2)-1) — функция вернёт «Иван».
  2. Выберите C2 и введите =ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(" ";A2)) — функция вернёт «Петров».
  3. Протяните обе формулы вниз на весь список и проверьте строку без пробела.

Справка Microsoft о разделении текста по столбцам даёт для имени запись =ЛЕВСИМВ(A2; ПОИСК(" ";A2;1))[6]. Формула имени из справки Microsoft захватывает пробел: позиция пробела равна пяти, и ЛЕВСИМВ берёт пять знаков. Вычитание единицы из позиции пробела убирает его, и сравнение имён в другой таблице не ломается.

Строка «Ольга» без пробела ломает обе формулы: ПОИСК не находит разделитель и возвращает #ЗНАЧ![7]. Исправить ошибку помогает обёртка =ЕСЛИОШИБКА(ЛЕВСИМВ(A4;ПОИСК(" ";A4)-1);A4) — для такой строки формула вернёт всё имя целиком.

Миф: ПСТР с позицией за концом строки выдаёт ошибку — на деле позиция больше длины текста даёт пустой текст, а #ЗНАЧ! возникает только при позиции меньше 1, так написано в справке Microsoft[1].

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

Чем ПОИСК отличается от НАЙТИ и зачем им ДЛСТР

Функция ПОИСК ищет позицию подстроки без учёта регистра, НАЙТИ — с учётом[2]. Вторая функция различает заглавные и строчные буквы, первая их не замечает. Для слова «Анна» =ПОИСК("а";"Анна") возвращает 1, потому что заглавная «А» стоит первой, а =НАЙТИ("а";"Анна") возвращает 4 — строчная «а» стоит четвёртой[7].

ПризнакПОИСКНАЙТИ
регистр буквне учитываетучитывает
подстановочные знаки ? и *принимаетне принимает
текст не найден#ЗНАЧ!#ЗНАЧ!
начальная позиция по умолчанию11

По справке Microsoft ПОИСК принимает подстановочные знаки: вопросительный знак заменяет один символ, звёздочка — любую последовательность, а тильда перед ними ищет сам знак[8]. Начальная позиция по умолчанию равна 1, а позиция 0 или больше длины строки возвращает #ЗНАЧ!. Справка приводит пример =ПОИСК("н";"принтер") с результатом 4.

ДЛСТР дополняет поиск: функция считает знаки вместе с пробелами, и через неё вычисляется длина правой части строки. Для фамилии из примера выше длина 11 минус позиция пробела даёт число знаков справа.

Количество слов в ячейке считает разность ДЛСТР с пробелами и без пробелов плюс один: =ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;" ";""))+1. Разность длин даёт число пробелов, а единица добавляет последнее слово — для «Иван Петров» формула вернёт 2[7]. Перед подсчётом строку стоит очистить СЖПРОБЕЛЫ, иначе двойной пробел даст лишнее слово.

Не путать: ПОДСТАВИТЬ меняет фрагмент строки на другой, а не ищет его позицию — подробнее на странице о заменах формулами ПОДСТАВИТЬ и ЗАМЕНИТЬ.

Именно поэтому перевод результата в число требует отдельного разбора: найденный и вырезанный кусок остаётся строкой.

Почему ТЕКСТ и ЗНАЧЕН меняют тип значения

Функция ТЕКСТ превращает число в строку по коду формата, а ЗНАЧЕН выполняет обратное преобразование[4]. Синтаксис по справке Microsoft — ТЕКСТ(значение;формат), где код формата стоит в кавычках, и ЗНАЧЕН(текст) с одним аргументом[9].

Текстовые функции возвращают строку, даже если внутри одни цифры. =ПСТР(A3;5;4) вернёт «2045», и проверка =ЕТЕКСТ(ПСТР(A3;5;4)) покажет ИСТИНА. Арифметика со знаком плюс переводит такую строку сама, а =ЗНАЧЕН(ПСТР(A3;5;4))+1 даёт 2046 явно[7]. Справка Microsoft добавляет, что ЗНАЧЕН обычно не нужна: Excel сам преобразует значения, а функция оставлена для совместимости с другими программами.

ТЕКСТ нужна там, где число или дату склеивают с подписью. При записи =A2&" "&B2 формат даты теряется и вместо даты видно число, поэтому справка советует =A2&" "&ТЕКСТ(B2;"дд.мм.гггг")[4]. Разделитель разрядов в коде формата зависит от региональных параметров компьютера.

Таблица ниже связывает симптом, причину и действие для трёх частых сбоев.

СимптомПричинаЧто сделать
#ЗНАЧ! в формуле именив строке нет пробелаобернуть формулу в ЕСЛИОШИБКА
пустой результат ПСТРначальная позиция больше длины строкипроверить позицию через ДЛСТР
сумма не видит вырезанные цифрырезультат ПСТР — строкаобернуть в ЗНАЧЕН
дата склеилась числомоператор & убрал форматдобавить ТЕКСТ с кодом даты
Миф: ТЕКСТ округляет число для дальнейших расчётов — на деле функция преобразует число в строку, и справка Microsoft советует держать исходное значение в другой ячейке[4].

Ведущие нули в кодах сохраняет тот же приём: =ТЕКСТ(1234;"0000000") вернёт 0001234. Подробнее о склейке строк с датой и числом — на странице о функциях СЦЕП и операторе &.

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

Когда текстовые функции не подойдут

Текстовые функции не подойдут, если правило разбора нельзя описать позицией разделителя или длина строки выходит за пределы Excel. Ячейка вмещает 32 767 знаков, а запись формулы — до 8 192 знаков[3], поэтому длинные вложенные конструкции лучше заменить другим способом.

  • Если строку нужно разрезать на много частей по одному разделителю, вложенные ПОИСК становятся нечитаемыми — в Microsoft 365 для этого есть отдельная функция, разбор на странице о разделении текста по разделителю.
  • Если в выгрузке стоит неразрывный пробел с кодом 160, СЖПРОБЕЛЫ его не удалит — сначала замените знак, как описано на странице о чистке неразрывных и двойных пробелов.
  • При задаче только изменить вид числа в ячейке функция ТЕКСТ лишняя: формат ячейки меняет отображение и оставляет число числом.
  • Когда файл откроют в Google Таблицах, ЛЕВСИМВ без второго аргумента там тоже вернёт 1 символ, а 0 допустим как значение[11]; новые функции из Microsoft 365 проверяйте отдельно.
Миф: СЖПРОБЕЛЫ удаляет любые пробелы — на деле функция удаляет только пробел с кодом 32, а неразрывный пробел с кодом 160 остаётся, по справке Microsoft[10].

Версии в справочнике указаны общим списком: Excel для Microsoft 365, Excel 2024, Excel 2021, Excel 2019 и Excel 2016, включая Mac[2]. Текстовые функции Excel из этого списка, кроме новых функций с пометкой Office 365, работают и в Google Таблицах под теми же русскими именами. Остальные группы формул — счёт, поиск, условия — собраны в сводке формул Excel по группам задач. Повторите разбор ФИО в тренажёре: урок меняет строки на листе и проверяет, что формула работает без ручного подсчёта знаков.

Частые вопросы

Как работает функция ПСТР?

ПСТР берёт из строки заданное число знаков, начиная с указанной позиции: =ПСТР(A3;5;4) для «АРТ-2045-МСК» вернёт «2045». Первый аргумент — строка, второй — номер первого знака, третий — сколько знаков взять[1].

Как из ячейки извлечь часть текста?

Часть строки извлекают три функции: ЛЕВСИМВ с начала, ПРАВСИМВ с конца, ПСТР из середины. Если длина куска меняется, позицию разделителя находит ПОИСК, как в формуле =ЛЕВСИМВ(A2;ПОИСК(" ";A2)-1).

Как текст преобразовать в число в эксель?

Строку с цифрами в эксель переводит в число функция ЗНАЧЕН: =ЗНАЧЕН(ПСТР(A3;5;4)) вернёт 2045 уже числом. Текстовые функции Excel всегда возвращают строку, поэтому результат ЛЕВСИМВ или ПСТР перед суммированием стоит обернуть в ЗНАЧЕН[9].

Чем ПОИСК отличается от НАЙТИ?

ПОИСК отличается от НАЙТИ тем, что не учитывает регистр и принимает подстановочные знаки. Для «Анна» первая функция найдёт «а» на первом месте, вторая — на четвёртом[8].

Можно ли посчитать количество слов в ячейке?

Да, количество слов в ячейке считает формула при условии, что слова разделены одиночными пробелами: =ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;" ";""))+1. Перед подсчётом строку очищают СЖПРОБЕЛЫ, иначе двойной пробел добавит лишнее слово.

Как использовать функцию ТЕКСТ?

Функцию ТЕКСТ используют с двумя аргументами: число и код формата в кавычках, например =ТЕКСТ(1234;"0000000") даст 0001234. Результат — строка, поэтому считать с ним дальше неудобно[4].

Источники

  1. [1] Microsoft, справка «Функция ПСТР», 2026
  2. [2] Microsoft, справка «Текстовые функции (справочник)», 2026
  3. [3] Microsoft, «Технические характеристики и ограничения Microsoft Excel», 2026
  4. [4] Microsoft, справка «ТЕКСТ», 2026
  5. [5] Microsoft, справка «Функция ЛЕВСИМВ», 2026
  6. [6] Microsoft, справка «Разделение текста по столбцам с помощью функций», 2026
  7. [7] Редакция «Excel-тренажёра», проверка «примеры текстовых функций на ФИО и артикуле» в движке тренажёра, 2026
  8. [8] Microsoft, справка «Функция ПОИСК», 2026
  9. [9] Microsoft, справка «Функция ЗНАЧЕН», 2026
  10. [10] Microsoft, справка «Функция СЖПРОБЕЛЫ», 2026
  11. [11] Google, справка «ЛЕВСИМВ (LEFT)», 2026

Похожие темы