Мастер-класс по обработке текста в Excel
Для работы с текстом в Excel используются пять ключевых функций: ЛЕВСИМВ (LEFT) и ПРАВСИМВ (RIGHT) для извлечения символов с краев, ПСТР (MID) для вырезки из середины, ПОИСК (FIND/SEARCH) для определения позиции символа и ТЕКСТ (TEXT) для преобразования чисел и дат в нужный строковый формат. Комбинируя их, можно автоматически чистить базы данных, разделять ФИО или формировать артикулы.
Ниже приведены подробные инструкции, синтаксис и реальные кейсы использования каждой функции.
Важно о локализации: В русскоязычной версии Excel функции имеют русские названия (например, ЛЕВСИМВ вместо LEFT). В статье приведены оба варианта для удобства пользователей разных версий ПО.
Извлечение частей строки: ЛЕВСИМВ, ПРАВСИМВ, ПСТР
Эти три функции служат «ножницами» для текста. Они не меняют исходную ячейку, а возвращают новый результат в ту ячейку, где написана формула.
1. ЛЕВСИМВ (LEFT)
Извлекает указанное количество символов с начала строки.
Синтаксис:
=ЛЕВСИМВ(текст; число_символов)
=LEFT(text, num_chars)
Пример:
Допустим, в ячейке A2 находится код товара "ART-592-BK". Нам нужно получить префикс "ART".
Формула: =ЛЕВСИМВ(A2; 3)
Результат: "ART"
2. ПРАВСИМВ (RIGHT)
Извлекает указанное количество символов с конца строки.
Синтаксис:
=ПРАВСИМВ(текст; число_символов)
=RIGHT(text, num_chars)
Пример:
Из того же кода "ART-592-BK" нужно вытащить цвет "BK".
Формула: =ПРАВСИМВ(A2; 2)
Результат: "BK"
3. ПСТР (MID)
Самая гибкая функция. Позволяет вырезать кусок текста из любой позиции.
Синтаксис:
=ПСТР(текст; начальная_позиция; число_символов)
=MID(text, start_num, num_chars)
начальная_позиция— номер символа, с которого начинается извлечение (счет с 1).число_символов— сколько символов взять.
Пример:
Из кода "ART-592-BK" нужно извлечь номер "592". Он начинается с 5-го символа и занимает 3 знака.
Формула: =ПСТР(A2; 5; 3)
Результат: "592"
Если вы укажете число_символов больше, чем осталось текста до конца строки, Excel просто вернет всё, что есть до конца. Ошибки не будет.
Поиск позиции символа: ПОИСК и НАЙТИ
Чтобы использовать ПСТР динамически (когда длина префиксов или суффиксов разная), нужно знать, где находится разделитель (например, дефис или пробел). Для этого используют функции поиска.
Разница между ПОИСК (SEARCH) и НАЙТИ (FIND)
| Характеристика | ПОИСК (SEARCH) | НАЙТИ (FIND) |
|---|---|---|
| Регистр | Не чувствителен к регистру (а = А) | Чувствителен к регистру (а ≠ А) |
| Подстановочные знаки | Поддерживает ? и * | Не поддерживает |
| Производительность | Чуть медленнее | Чуть быстрее |
В большинстве бытовых задач удобнее использовать ПОИСК, так как он прощает ошибки регистра.
Синтаксис:
=ПОИСК(искомый_текст; текст_где_ищем; [начальная_позиция])
=SEARCH(find_text, within_text, [start_num])
Пример:
Найти позицию первого дефиса в ячейке A2 ("ART-592-BK").
Формула: =ПОИСК("-"; A2)
Результат: 4 (дефис стоит на 4-м месте).
Комплексные примеры: Динамическое разделение данных
Самая частая задача — разделить данные, где длина частей неизвестна. Например, список email-адресов или ФИО.
Кейс 1: Извлечение имени из Email
Дано: [email protected]
Задача: Получить ivan.petrov (часть до собаки @).
Мы не знаем длину имени, поэтому не можем использовать жесткое число в ЛЕВСИМВ. Мы используем ПОИСК, чтобы найти позицию @, и вычитаем 1, чтобы не захватить сам символ собаки.
Формула:
=ЛЕВСИМВ(A2; ПОИСК("@"; A2) - 1)
Логика:
ПОИСК("@"; A2)находит позицию 11.11 - 1 = 10.ЛЕВСИМВ(A2; 10)берет первые 10 символов.
Кейс 2: Извлечение фамилии из строки "Иванов Иван"
Дано: Ячейка A2 содержит "Иванов Иван".
Задача: Получить только фамилию "Иванов".
Здесь нам поможет комбинация ЛЕВСИМВ и ПОИСК пробела.
Формула:
=ЛЕВСИМВ(A2; ПОИСК(" "; A2) - 1)
Если нужно получить Имя (второе слово), используем ПРАВСИМВ и ДЛСТР (LEN):
=ПРАВСИМВ(A2; ДЛСТР(A2) - ПОИСК(" "; A2))
Кейс 3: Универсальное извлечение середины (между двумя разделителями)
Дано: Артикул "BOX-RED-XL-001". Нужно забрать размер "XL", который находится между вторым и третьим дефисом.
Это сложная задача, требующая вложенных функций.
- Находим позицию первого дефиса:
ПОИСК("-"; A2) - Находим позицию второго дефиса (начинаем поиск после первого):
ПОИСК("-"; A2; ПОИСК("-"; A2)+1) - Находим позицию третьего дефиса:
ПОИСК("-"; A2; ПОИСК("-"; A2; ПОИСК("-"; A2)+1)+1)
Формула для ПСТР:
=ПСТР(A2; ПОИСК("-";A2;ПОИСК("-";A2)+1)+1; ПОИСК("-";A2;ПОИСК("-";A2;ПОИСК("-";A2)+1)+1) - ПОИСК("-";A2;ПОИСК("-";A2)+1) - 1)
Такие громоздкие формулы сложно читать и отлаживать. Если у вас Excel 2021 или Office 365, лучше использовать функцию ТЕКСТДО (TEXTSPLIT) или ТЕКСТПОСЛЕ (TEXTAFTER), которые решают эту задачу в одну строку.
Форматирование значений: Функция ТЕКСТ (TEXT)
Функция ТЕКСТ уникальна тем, что она преобразует числовое значение (дату, время, проценты, валюту) в текстовую строку с заданным визуальным оформлением. Это полезно для сцепления текста с числами.
Синтаксис:
=ТЕКСТ(значение; формат)
=TEXT(value, format_text)
Популярные коды форматов
| Код | Значение | Пример результата |
|---|---|---|
"ДД.ММ.ГГГГ" | Дата полностью | 07.05.2026 |
"ДД МММ ГГ" | Краткая дата | 07 май 26 |
"0.00" | Число с 2 знаками | 12,50 |
"#,##0 ₽" | Валюта | 1 250 ₽ |
"0%" | Процент | 25% |
Практический пример: Создание отчетной надписи
Дано:
- A2: Дата
07.05.2026(числовой формат даты) - B2: Сумма
1500.5
Задача: Получить строку "Отчет от 07 мая 2026 на сумму 1 500,50 ₽".
Если просто сцепить ячейки через &, дата превратится в непонятное число (например, 45789). Используем ТЕКСТ:
Формула:
="Отчет от "&ТЕКСТ(A2;"ДД МММ ГГГГ")&" на сумму "&ТЕКСТ(B2;"#,##0.00 ₽")
Результат: Отчет от 07 май 2026 на сумму 1 500,50 ₽
Частые ошибки при работе с текстом
-
Лишние пробелы. Часто после извлечения текста (
ПСТР,ЛЕВСИМВ) в конце или начале остаются невидимые пробелы. Из-за этого формулы сравнения (=A1=B1) возвращаютЛОЖЬ. Решение: Оборачивайте формулу в функцию СЖПРОБЕЛЫ (TRIM). Пример:=СЖПРОБЕЛЫ(ЛЕВСИМВ(A2; 5)) -
Несоответствие типов данных. Функция
ТЕКСТвсегда возвращает строку. Если вы попытаетесь суммировать результатТЕКСТ, Excel выдаст ошибку или 0. Решение: Используйте текстовые функции только для отображения или сцепки. Для расчетов оставляйте исходные числа. -
Ошибка #ЗНАЧ! в функции ПОИСК. Возникает, если искомый символ не найден в тексте. Решение: Используйте конструкцию
ЕСЛИОШИБКА. Пример:=ЕСЛИОШИБКА(ПОИСК("@"; A2); 0)— вернет 0, если "@" нет в ячейке.
FAQ
В: Как разделить текст по столбцам без формул? О: Используйте встроенный инструмент «Данные» -> «Текст по столбцам». Он позволяет быстро разбить данные по разделителям (запятая, пробел, точка с запятой) или фиксированной ширине.
В: Чем отличается ПОИСК от НАЙТИ?
О: ПОИСК (SEARCH) игнорирует регистр букв и поддерживает wildcard-символы (* и ?). НАЙТИ (FIND) ищет точное совпадение с учетом регистра и работает немного быстрее на больших массивах данных.
В: Можно ли извлечь текст между одинаковыми разделителями проще?
О: Да, в новых версиях Excel (Office 365, Excel 2021+) используйте функции ТЕКСТДО (TEXTBEFORE), ТЕКСТПОСЛЕ (TEXTAFTER) и ТЕКСТМЕЖДУ (TEXTBETWEEN). Они заменяют сложные конструкции из ПСТР и ПОИСК.