Работа с текстовыми данными в Microsoft Excel часто требует гибкости: иногда нужно убрать лишние символы, сократить длинные строки или выделить только часть информации. Обрезка текста до определенного количества символов — одна из самых востребованных операций, которая пригодится и для очистки данных перед анализом, и для подготовки отчетов с ограничением по длине. Например, когда вам нужно оставить только первые 10 символов артикула или последние 5 цифр номера договора.
В этой статье мы разберем 5 проверенных способов обрезки текста в Excel — от простых функций до продвинутых формул с условиями. Вы узнаете, как работать с начала или конца строки, как обрезать текст по заданному разделителю, и даже как автоматизировать процесс с помощью Power Query. А еще — типичные ошибки, которые портят результаты, и как их избежать.
Если вы регулярно сталкиваетесь с необходимостью редактировать текстовые данные, эти методы сэкономят вам часы ручной работы. Например, при импорте данных из внешних источников часто попадаются ячейки с лишними пробелами, префиксами или постфиксами. Вместо того чтобы править каждую строку вручную, достаточно применить одну из функций — и задача решена за секунды.
Важно понимать, что обрезка текста в Excel не изменяет исходные данные (если не использовать Специальная вставка → Значения). Это значит, что вы всегда можете вернуть первоначальный вид информации или экспериментировать с разными вариантами без риска потерять данные. Начнем с самого простого — базовых текстовых функций.
1. Функция ЛЕВСИМВ: как обрезать текст с начала строки
Функция ЛЕВСИМВ (или LEFT в английской версии) — самый простой способ извлечь заданное количество символов с начала текстовой строки. Ее синтаксис предельно понятен:
=ЛЕВСИМВ(текст; [количество_символов])
Где:
- 📌
текст— это ячейка с исходными данными (например,A1) или текстовая строка в кавычках (например,"Пример123") - 📏
[количество_символов]— сколько символов нужно оставить (если не указать, по умолчанию берется 1 символ)
Пример: если в ячейке A1 содержится текст "Артикул: T-45678-XYZ", а вам нужны только первые 8 символов (само слово "Артикул"), формула будет такой:
=ЛЕВСИМВ(A1; 8)
Результат: "Артикул".
⚠️
Внимание: Если указанное количество символов превышает длину текста, Excel вернет всю строку без ошибок. Но если ячейка пустая, формула вернет0— это может испортить дальнейшие вычисления. Чтобы избежать проблемы, оберните функцию вЕСЛИОШИБКА:
=ЕСЛИОШИБКА(ЛЕВСИМВ(A1; 10); "")
Функция ЛЕВСИМВ идеально подходит для извлечения префиксов, кодов стран в номерах телефонов или первых букв фамилий. А если нужно обрезать текст не с начала, а с конца — используйте ее "сестру" ПРАВСИМВ.
2. Функция ПРАВСИМВ: обрезка текста с конца строки
Функция ПРАВСИМВ (английский аналог — RIGHT) работает по тому же принципу, что и ЛЕВСИМВ, но извлекает символы с конца строки. Синтаксис идентичен:
=ПРАВСИМВ(текст; [количество_символов])
Практический пример: в ячейке B2 хранится номер заказа "ORD-2026-05432", а вам нужны только последние 5 цифр. Формула будет такой:
=ПРАВСИМВ(B2; 5)
Результат: "432" (последние 3 символа, так как "05432" — это 5 знаков).
🔹 Важный нюанс: если в конце строки есть пробелы, ПРАВСИМВ учитывает их как полноценные символы. Чтобы избежать ошибок, предварительно очистите данные функцией СЖПРОБЕЛЫ:
=ПРАВСИМВ(СЖПРОБЕЛЫ(B2); 5)
Эта функция незаменима для работы с:
- 🔢 Последними цифрами идентификаторов (например, номерами договоров)
- 📅 Датами в формате "ДД.ММ.ГГГГ", когда нужны только год или месяц
- 💳 Последними цифрами банковских карт или счетов
А что делать, если нужно обрезать текст не с краев, а из середины? Например, извлечь подстроку между двумя разделителями? Для этого есть функция ПСТР.
3. Функция ПСТР: извлечение фрагмента текста по позиции
Функция ПСТР (или MID в английской версии) позволяет вырезать часть текста, начиная с заданной позиции. Ее синтаксис немного сложнее:
=ПСТР(текст; начальная_позиция; количество_символов)
Где:
- 📍
начальная_позиция— номер символа, с которого начинается извлечение (первый символ имеет позицию 1) - 📏
количество_символов— сколько символов нужно извлечь
Пример: в ячейке C3 содержится email "user.name@domain.com", и вам нужно извлечь домен ("domain.com"). Зная, что домен начинается после символа "@" (позиция 11 в этом примере), формула будет:
=ПСТР(C3; 11; 10)
Результат: "domain.com".
⚠️
Внимание: Еслиначальная_позицияпревышает длину текста, Excel вернет ошибку#ЗНАЧ!. Чтобы избежать этого, используйте проверку длины строки с функциейДЛСТР:
=ЕСЛИ(ДЛСТР(C3)>=11; ПСТР(C3; 11; 10); "")
Часто позицию начала фрагмента нужно вычислять динамически — например, если разделитель ("@", "-", "/") находится на разном расстоянии в каждой строке. Для этого комбинируйте ПСТР с функциями НАЙТИ или ПОИСК.
Ключевое отличие ПСТР от ЛЕВСИМВ/ПРАВСИМВ: она позволяет извлекать фрагменты из любой части строки, а не только с краев. Это делает ее универсальным инструментом для работы с текстовыми данными.
☑️ Подготовка к обрезке текста в Excel
4. Комбинация функций: обрезка текста по разделителю
Часто текст в ячейках имеет структуру с разделителями — например, ФИО через пробел ("Иванов Петр Сидорович"), данные через запятую ("Москва, ул. Ленина, 15") или коды через тире ("ABC-123-XYZ"). В таких случаях удобно обрезать текст не по количеству символов, а по положению разделителя.
Для этого комбинируют функции:
- 🔍
НАЙТИилиПОИСК— чтобы определить позицию разделителя - ✂️
ЛЕВСИМВ/ПРАВСИМВ/ПСТР— чтобы обрезать текст
Пример 1: извлечь фамилию из ФИО в ячейке D4 ("Иванов Петр Сидорович"):
=ЛЕВСИМВ(D4; НАЙТИ(" "; D4)-1)
Результат: "Иванов".
Пример 2: извлечь домен из email в ячейке E5 ("client@example.com"):
=ПРАВСИМВ(E5; ДЛСТР(E5)-НАЙТИ("@"; E5))
Результат: "example.com".
📌 Совет: Если разделитель может отсутствовать (например, не во всех email есть "@"), добавьте проверку на ошибку:
=ЕСЛИЕОШ(ПРАВСИМВ(E5; ДЛСТР(E5)-НАЙТИ("@"; E5)); "")
В таблице ниже — примеры формул для разных разделителей:
| Исходный текст | Задача | Формула | Результат |
|---|---|---|---|
"Мoskva_RU_123" |
Извлечь "RU" между "_" |
=ПСТР(A1; НАЙТИ("_"; A1)+1; НАЙТИ("_"; A1; НАЙТИ("_"; A1)+1)-(НАЙТИ("_"; A1)+1)) |
"RU" |
"2026/05/15" |
Извлечь месяц ("05") |
=ПСТР(A2; 6; 2) |
"05" |
"Счет #4567 от 01.06" |
Извлечь номер счета ("4567") |
=ПСТР(A3; НАЙТИ("#"; A3)+1; 4) |
"4567" |
Для сложных случаев (например, когда разделителей несколько или их положение нефиксированное) удобнее использовать Power Query — инструмент для преобразования данных, о котором пойдет речь дальше.
5. Обрезка текста с помощью Power Query (для больших данных)
Если вам нужно обработать тысячи строк или применить сложные правила обрезки (например, удалить все символы после второго пробела), ручное прописывание формул станет утомительным. В таких случаях на помощь приходит Power Query — инструмент для импорта и преобразования данных, доступный в Excel 2016 и новее.
Алгоритм действий:
- Выделите исходные данные и перейдите на вкладку
Данные → Получение данных → Из таблицы/диапазона. - В открывшемся редакторе Power Query выберите столбец с текстом, который нужно обрезать.
- На вкладке
ПреобразованиеилиДобавление столбцаиспользуйте:- 🔪
Извлечь → Текст до разделителя(аналог ЛЕВСИМВ до символа) - 🔪
Извлечь → Текст после разделителя(аналог ПРАВСИМВ после символа) - 🔪
Извлечь → Диапазон(аналог ПСТР)
- 🔪
Закрыть и загрузить, чтобы вернуть данные в Excel.🔹 Преимущества Power Query:
- ⚡ Обрабатывает миллионы строк без замедления
- 🔄 Сохраняет шаги преобразования — при обновлении данных формулы применятся автоматически
- 🛠️ Поддерживает сложные цепочки действий (например, сначала обрезать, потом заменить, затем разделить)
⚠️
Внимание: После загрузки данных через Power Query они становятся статическими (если не настроена связь с источником). Чтобы обновить результаты при изменении исходных данных, нажмите Данные → Обновить все.
Пример: если у вас столбец с адресами вида Результат — новый столбец только с названиями городов. Если формулы кажутся сложными, можно использовать инструмент "Текст по столбцам" на вкладке Даже с простыми функциями обрезки текста пользователи часто сталкиваются с неожиданными результатами. Вот самые распространенные ошибки и способы их решения:
🔴 Ошибка #1: Формула возвращает 🔹 Причина:"город, улица, дом", и нужно оставить только город, в Power Query достаточно:
Разделить столбец → По разделителю."," и выбрать Только левую часть.Как обрезать текст без формул?
Данные. Выделите столбец → Текст по столбцам → укажите разделитель (или фиксированную ширину) → выберите, какие части текста сохранить. Минус метода: он разбивает данные на несколько столбцов, что не всегда удобно.6. Типичные ошибки и как их избежать
#ИМЯ?
"ЛЕВСИМ" вместо "ЛЕВСИМВ") или использование английской версии (LEFT) в русскоязычном Excel.
🔹 Решение: Проверьте синтаксис. В русской версии Excel используйте:
- 📌
ЛЕВСИМВ(неLEFT) - 📌
ПРАВСИМВ(неRIGHT) - 📌
ПСТР(неMID)
🔴 Ошибка #2: В результате остаются пробелы
🔹 Причина: Исходный текст содержит лишние пробелы в начале, конце или между словами.
🔹 Решение: Оберните исходный текст в СЖПРОБЕЛЫ:
=ЛЕВСИМВ(СЖПРОБЕЛЫ(A1); 5)
🔴 Ошибка #3: Формула не учитывает регистр
🔹 Причина: Функции НАЙТИ и ПОИСК чувствительны к регистру. Например, НАЙТИ("а"; "Абв") вернет ошибку.
🔹 Решение: Используйте ПОИСК (нечувствительна к регистру) или приведите текст к одному регистру функцией ПРОПИСН/СТРОЧН.
🔴 Ошибка #4: Обрезается не тот фрагмент
🔹 Причина: Неправильно указаны позиция или количество символов (например, в ПСТР).
🔹 Решение: Проверьте длину строки функцией ДЛСТР и скорректируйте параметры. Например:
=ПСТР(A1; 3; ДЛСТР(A1)-2)
— извлечет текст с 3-го символа до конца строки.
🔴 Ошибка #5: Формула не работает с числами
🔹 Причина: Текстовые функции не работают с числовыми форматами. Например, если в ячейке число 12345, а не текст "12345", ЛЕВСИМВ вернет ошибку.
🔹 Решение: Преобразуйте число в текст функцией ТЕКСТ:
=ЛЕВСИМВ(ТЕКСТ(A1); 2)
Если избегать этих ошибок, обрезка текста в Excel станет простой и предсказуемой процедурой. А для автоматизации рутинных задач можно записать макрос — но это уже тема для отдельной статьи.
FAQ: Ответы на частые вопросы
🔹 Как обрезать текст до последнего пробела?
Используйте комбинацию функций ЛЕВСИМВ и ПОИСК с ПОВТОР для поиска последнего пробела:
=ЛЕВСИМВ(A1; ПОИСК("~"; ПОДСТАВИТЬ(A1; " "; "~"; СЧЁТЗНАК(A1)-СЧЁТЗНАК(ПОДСТАВИТЬ(A1; " "; ""))))-1)
Здесь символ "~" используется как временная метка для последнего пробела.
🔹 Можно ли обрезать текст без формул?
Да, есть три способа:
- Использовать инструмент
Текст по столбцам(вкладкаДанные). - Применить
Найти и заменить(Ctrl+H) для удаления части текста по шаблону. - В ручном режиме: дважды кликните на ячейку и удалите лишние символы прямо в строке формул.
Однако эти методы не подходят для обработки больших массивов данных.
🔹 Почему функция ПСТР возвращает ошибку #ЗНАЧ!?
Ошибка возникает в двух случаях:
начальная_позициябольше длины текста (например,ПСТР("abc"; 5; 2)).количество_символовотрицательное.
Решение: проверьте длину строки (ДЛСТР) и скорректируйте параметры.
🔹 Как обрезать текст в Excel Online?
В веб-версии Excel доступны те же функции: ЛЕВСИМВ, ПРАВСИМВ, ПСТР. Синтаксис идентичен настольной версии. Однако Power Query в Excel Online имеет ограниченные возможности — для сложных преобразований лучше использовать десктопную версию.
🔹 Можно ли обрезать текст с учетом многобайтовых символов (кириллица, иероглифы)?
Да, функции ЛЕВСИМВ/ПРАВСИМВ/ПСТР корректно работают с любыми символами, включая кириллицу, иероглифы или эмодзи. Один символ = одна единица длины, независимо от кодировки. Например:
=ЛЕВСИМВ("Привет! 👋"; 5)
вернет "Приве" (4 буквы + пробел), а не обрежет на середине многобайтового символа.