Работа с текстовыми данными в Microsoft Excel — одна из самых востребованных задач. Часто пользователи сталкиваются с необходимостью обрезать слово или его часть: удалить лишние символы, выделить нужный фрагмент или привести данные к единому формату. Например, когда в ячейке содержится полное ФИО, а требуется только фамилия, или когда нужно убрать префиксы в артикулах товаров.
В этой статье вы найдёте 5 проверенных способов обрезки текста в Excel — от простых инструментов до сложных формул. Мы разберём, как работать с функциями ЛЕВСИМВ, ПРАВСИМВ, ПСТР, а также научимся использовать разделение по столбцам и настройку формата ячеек. Особое внимание уделим типичным ошибкам и нюансам, которые помогут сэкономить время.
Независимо от вашего уровня — новичок или опытный пользователь — здесь вы найдёте решение под свою задачу. А если вам нужно автоматизировать процесс для тысяч строк, мы покажем, как это сделать с помощью Power Query или VBA.
1. Обрезка текста с помощью функций ЛЕВСИМВ, ПРАВСИМВ и ПСТР
Самый универсальный способ обрезать слово в Excel — использовать текстовые функции. Они позволяют извлекать нужное количество символов с начала, конца или середины строки.
Функция ЛЕВСИМВ(текст; количество_символов) возвращает заданное количество символов слева. Например, если в ячейке A1 содержится текст "Александр Пушкин", то формула =ЛЕВСИМВ(A1; 9) вернёт "Александр".
Аналогично работает ПРАВСИМВ, но она извлекает символы справа. Например, =ПРАВСИМВ(A1; 7) для того же текста даст "Пушкин".
Для извлечения фрагмента из середины строки используйте ПСТР(текст; начальная_позиция; количество_символов). Например, чтобы получить "анд" из слова "Александр", напишите:
=ПСТР(A1; 3; 4)
- 📌 ЛЕВСИМВ — для обрезки с начала строки.
- 📌 ПРАВСИМВ — для обрезки с конца.
- 📌 ПСТР — для извлечения фрагмента из середины.
- ⚡ Текст в кавычках — если вы вводите текст напрямую в формулу, оберните его в двойные кавычки:
=ЛЕВСИМВ("Пример"; 3).
⚠️ Внимание: Если в ячейке содержится число, а не текст, Excel может автоматически преобразовать его в дату. Чтобы избежать ошибок, используйте функциюТЕКСТили предваряйте число апострофом:'12345.
2. Разделение текста по столбцам: быстрый способ обрезки
Если вам нужно разделить текст на части по разделителю (пробел, запятая, тире), проще всего воспользоваться инструментом "Текст по столбцам". Это особенно удобно для обрезки слов в больших таблицах.
Допустим, у вас в столбце A содержатся полные адреса вида "Москва, ул. Ленина, д. 1", а вам нужны только названия городов. Выделите столбец, перейдите на вкладку Данные и выберите Текст по столбцам.
В открывшемся окне:
- Выберите
С разделителями→Далее. - Укажите разделитель (например, запятую).
- Нажмите
Готово.
Теперь каждый фрагмент текста будет в отдельном столбце. Вам останется скопировать нужный фрагмент и удалить лишние данные.
Выделите столбец с данными|
Проверьте, есть ли одинаковый разделитель (запятая, точка с запятой, пробел)|
Создайте резервную копию данных|
Убедитесь, что справа достаточно пустых столбцов-->
| Исходный текст | Разделитель | Результат (1-й столбец) | Результат (2-й столбец) |
|---|---|---|---|
| Иванов Иван Иванович | Пробел | Иванов | Иван |
| ART-12345-001 | Тире (-) | ART | 12345 |
| email@example.com | Собака (@) | example.com |
⚠️ Внимание: Если в тексте несколько одинаковых разделителей подряд (например, два пробела), Excel может создать пустые столбцы. Чтобы избежать этого, предварительно замените двойные разделители на одиночные с помощью функции ПОДСТАВИТЬ.
3. Обрезка текста с помощью функции ПОИСК и НАЙТИ
Когда нужно обрезать слово до или после определённого символа, пригодятся функции ПОИСК и НАЙТИ. Они помогают найти позицию символа в строке, а затем извлечь нужный фрагмент.
Допустим, у вас есть email-адреса вида "user@domain.com", и вам нужно извлечь домен ("domain.com"). Для этого:
=ПРАВСИМВ(A1; ДЛСТР(A1) - ПОИСК("@"; A1))
Эта формула находит позицию символа @ и обрезает всё, что идёт после него.
Если вам нужно извлечь текст до символа, используйте комбинацию ЛЕВСИМВ и ПОИСК:
=ЛЕВСИМВ(A1; ПОИСК("-"; A1) - 1)
Эта формула вернёт всё, что находится перед первым тире в строке.
- 🔍
ПОИСК— ищет позицию символа (регистронезависимый). - 🔍
НАЙТИ— то же, но с учётом регистра. - 💡 Если символ не найден, функции возвращают ошибку
#ЗНАЧ!. Чтобы избежать этого, используйтеЕСЛИОШИБКА.
4. Удаление лишних символов с помощью ПОДСТАВИТЬ и СЖПРОБЕЛЫ
Иногда обрезка слова подразумевает удаление ненужных символов — пробелов, кавычек, скобок. Для этого подойдут функции ПОДСТАВИТЬ и СЖПРОБЕЛЫ.
Функция СЖПРОБЕЛЫ удаляет лишние пробелы в начале, конце и между словами:
=СЖПРОБЕЛЫ(A1)
Функция ПОДСТАВИТЬ заменяет один символ на другой. Например, чтобы убрать все дефисы из артикула:
=ПОДСТАВИТЬ(A1; "-"; "")
Если нужно удалить несколько разных символов, вложите функции друг в друга:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; "("; ""); ")"; "")
| Исходный текст | Формула | Результат |
|---|---|---|
| Москва | =СЖПРОБЕЛЫ(A1) |
Москва |
| ART-123-456 | =ПОДСТАВИТЬ(A1; "-"; "") |
ART123456 |
| (Пример) | =ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; "("; ""); ")"; "") |
Пример |
⚠️ Внимание: ФункцияПОДСТАВИТЬчувствительна к регистру. Если вам нужно удалить символы независимо от регистра, используйте комбинацию сНАЙТИилиПОИСКв циклах VBA.
5. Автоматизация обрезки с помощью Power Query
Если вам нужно обработать тысячи строк, ручное использование формул займёт слишком много времени. В этом случае поможет Power Query — инструмент для преобразования данных, встроенный в Excel 2016 и новее.
Чтобы обрезать текст с помощью Power Query:
- Выделите данные и перейдите на вкладку
Данные→Из таблицы/диапазона. - В открывшемся редакторе выберите столбец, кликните правой кнопкой и выберите
Разделить столбец→По разделителюилиПо количеству символов. - Настройте параметры разделения и нажмите
ОК. - Сохраните изменения и загрузите данные обратно в Excel.
Power Query позволяет не только обрезать текст, но и применять другие преобразования: замену значений, фильтрацию, объединение столбцов. Главное преимущество — все действия сохраняются и могут быть повторены для новых данных.
В Power Query можно использовать язык Это вернёт Как обрезать текст по маске в Power Query?
M для сложных преобразований. Например, чтобы извлечь все цифры из строки (например, из артикула "ABC123XYZ"), добавьте пользовательский столбец с формулой:Text.Select([Column1], {"0".."9"})"123". Аналогично можно извлекать буквы или другие символы.
6. Обрезка текста с помощью VBA (для опытных пользователей)
Если стандартные функции Excel не справляются с задачей, можно написать макрос на VBA. Например, чтобы обрезать все слова в столбце до 5 символов:
Sub TrimWords()
Dim rng As Range
Dim cell As Range
Set rng = Selection ' Выделенный диапазон
For Each cell In rng
If Len(cell.Value) > 5 Then
cell.Value = Left(cell.Value, 5)
End If
Next cell
End Sub
Чтобы использовать этот макрос:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Вернитесь в Excel, выделите нужный диапазон и запустите макрос (
Alt + F8→ выберитеTrimWords→Выполнить).
Макросы позволяют обрабатывать данные в сотни раз быстрее, чем формулы, но требуют осторожности: всегда тестируйте код на копии данных.
⚠️ Внимание: Перед запуском макросов убедитесь, что в настройках Excel разрешено выполнение макросов (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов). В противном случае макрос не будет работать.
FAQ: Частые вопросы об обрезке текста в Excel
Как обрезать слово до первого пробела?
Используйте формулу =ЛЕВСИМВ(A1; ПОИСК(" "; A1) - 1). Она найдёт позицию первого пробела и вернёт всё, что находится перед ним.
Можно ли обрезать текст без формул?
Да, с помощью инструмента Текст по столбцам (вкладка Данные). Выберите разделитель (пробел, запятая и т. д.), и Excel автоматически разобьёт текст на части.
Как убрать последние 3 символа в каждой ячейке?
Примените формулу =ЛЕВСИМВ(A1; ДЛСТР(A1) - 3). Она вернёт все символы, кроме последних трёх.
Почему функция ПОИСК возвращает ошибку #ЗНАЧ?
Ошибка возникает, если искомый символ отсутствует в строке. Чтобы избежать этого, используйте ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(ПОИСК("x"; A1); 0)
Как обрезать текст в Excel Online?
В веб-версии Excel доступны те же функции (ЛЕВСИМВ, ПРАВСИМВ и др.), но нет Power Query и VBA. Для сложных задач используйте настольную версию.