Удаление первого слова в ячейках Excel — типичная задача при очистке данных, когда нужно избавиться от артиклей, префиксов (например, "Инв. №"), повторяющихся обозначений или служебной информации. Если в столбце A1:A100 содержатся значения типа "Накладная 12345", "Заказ клиента Иванов" или "Артикул ABC-001", а требуется оставить только уникальную часть ("12345", "клиента Иванов", "ABC-001"), стандартные функции вроде ПСТР или ЗАМЕНИТЬ не всегда подходят из-за переменной длины первого слова. Проблема усложняется, если слова разделены несколькими пробелами, табуляцией или другими разделителями.
В этой статье рассмотрим 5 рабочих методов — от простых формул до автоматизации через Power Query и VBA, — которые покрывают 90% сценариев. Особое внимание уделим случаям, когда первое слово содержит пробелы (например, "Счет-фактура 001"), а также обработке больших массивов данных (10 000+ строк) без зависания Excel. Все решения протестированы в версиях Excel 2010–2023 и Office 365.
1. Формулы для удаления первого слова: 3 варианта
Формульный подход подходит для разовых задач или динамических таблиц, где исходные данные могут обновляться. Основная идея — найти позицию первого пробела (или другого разделителя) и извлечь подстроку справа от него.
Базовая формула для ячейки A1 (если слова разделены одним пробелом):
=ПСТР(A1;НАЙТИ(" ";A1)+1;ДЛСТР(A1))
Эта формула ищет первый пробел (НАЙТИ(" ";A1)), добавляет 1 к его позиции, чтобы пропустить сам пробел, и извлекает всю оставшуюся часть строки (ДЛСТР(A1)). Однако она вернёт ошибку, если в ячейке нет пробелов. Чтобы избежать этого, оберните её в ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(ПСТР(A1;НАЙТИ(" ";A1)+1;ДЛСТР(A1));A1)
Для случаев, когда слова разделены несколькими пробелами или табуляцией, используйте ПОИСК вместо НАЙТИ (он игнорирует регистр и поддерживает подстановочные знаки):
=ПСТР(A1;ПОИСК(" *";ПОДСТАВИТЬ(A1;" "; " "))+1;ДЛСТР(A1))
Здесь ПОДСТАВИТЬ(A1;" "; " ") заменяет все пробелы на одинарные, а ПОИСК(" *") находит первый пробел (включая множественные).
- ✅ Плюсы: не требует макросов, работает в любых версиях Excel.
- ⚠️ Минусы: формулы замедляют файл при обработке >10 000 строк.
- 🔄 Альтернатива: для Excel 365 можно использовать
ТЕКСТПОСЛЕ(см. следующий раздел).
2. Функция ТЕКСТПОСЛЕ (Excel 365 и 2021)
В новых версиях Excel (начиная с 2021 и Office 365) появилась функция ТЕКСТПОСЛЕ, которая радикально упрощает задачу. Она извлекает текст после указанного разделителя, игнорируя его повторения. Синтаксис:
=ТЕКСТПОСЛЕ(A1;" ")
Пример работы:
| Исходная ячейка (A1) | Формула | Результат |
|---|---|---|
| "Привет мир" | =ТЕКСТПОСЛЕ(A1;" ") | "мир" |
| "Инв.№ 12345" | =ТЕКСТПОСЛЕ(A1;" ") | "12345" |
| "Адрес: Москва" | =ТЕКСТПОСЛЕ(A1;": ") | "Москва" |
| "ТолькоОдноСлово" | =ТЕКСТПОСЛЕ(A1;" ") | #ЗНАЧ! (ошибка) |
Чтобы избежать ошибок, если в ячейке нет пробела, добавьте обработку:
=ЕСЛИОШИБКА(ТЕКСТПОСЛЕ(A1;" ");A1)
ТЕКСТПОСЛЕ поддерживает несколько разделителей. Например, чтобы удалить первое слово независимо от разделителя (пробел, запятая, тире), используйте:
=ТЕКСТПОСЛЕ(A1;{" ";",";"-"};1)
Последний аргумент 1 указывает, что нужно вернуть текст после первого найденного разделителя.
3. Power Query: удаление первого слова в тысячах строк
Power Query (вкладка Данные → Получить данные) — лучший инструмент для обработки больших массивов (100 000+ строк). Он не тормозит файл и позволяет сохранить шаги трансформации для повторного использования.
Алгоритм действий:
- Выделите исходный диапазон и нажмите
Данные → Из таблицы/диапазона(в Excel 2016+). - В открывшемся редакторе Power Query выберите столбец с текстом →
Трансформировать → Разделить столбец → По разделителю. - Укажите разделитель "Пробел", выберите вариант "На крайнее левое вхождение".
- Удалите первый из полученных столбцов (содержит первое слово), оставьте второй.
- Нажмите
Закрыть и загрузить, чтобы вернуть данные в Excel.
Для автоматизации процесса используйте язык M (код Power Query). Откройте Дополнительно → Редактор дополнительных параметров и вставьте:
= Table.AddColumn(#"Предыдущий шаг", "Без первого слова",
each Text.AfterDelimiter([ВашСтолбец], " ", 0, 0))
Где:
ВашСтолбец— имя столбца с исходными данными." "— разделитель (пробел).0— поиск с начала строки.0— возвращать текст после первого вхождения.
Выделите диапазон без пустых строк|Проверьте, что первое слово во всех ячейках разделено ОДНИМ типом разделителя (пробел/запятая)|Сохраните исходную таблицу на отдельном листе|Удалите объединённые ячейки (они вызывают ошибки в Power Query)-->
4. VBA-макрос для удаления первого слова
Если нужно обработать данные одним кликом или интегрировать удаление первого слова в комплексный макрос, используйте VBA. Ниже код для обработки выделенного диапазона:
Sub УдалитьПервоеСлово()
Dim rng As Range
Dim cell As Range
Dim pos As Integer
Set rng = Selection ' Обрабатываем выделенные ячейки
For Each cell In rng
If InStr(cell.Value, " ") > 0 Then
pos = InStr(cell.Value, " ")
cell.Value = Trim(Mid(cell.Value, pos + 1))
End If
Next cell
End Sub
Как использовать:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Вернитесь в Excel, выделите диапазон и запустите макрос (
Alt + F8 → УдалитьПервоеСлово → Выполнить).
Для обработки конкретного столбца (например, A1:A1000) замените Set rng = Selection на:
Set rng = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
⚠️ Внимание: Макрос безвозвратно изменяет исходные данные. Перед запуском сохраните резервную копию файла или работайте на копии листа.
5. Ручное удаление первого слова (для небольших таблиц)
Если данных мало (<100 строк), а слова разделены одним пробелом, можно обойтись без формул:
- Добавьте справа от исходного столбца вспомогательный столбец.
- В первой ячейке вспомогательного столбца введите формулу из раздела 1.
- Протяните формулу вниз до конца диапазона.
- Скопируйте результаты (
Ctrl + C) и вставьте их поверх исходного столбца как значения (Правая кнопка → Специальная вставка → Значения). - Удалите вспомогательный столбец.
Для ускорения процесса используйте горячие клавиши:
- 🔹
F2— редактировать ячейку. - 🔹
Ctrl + Shift + Стрелка вниз— выделить диапазон до последней заполненной ячейки. - 🔹
Ctrl + D— заполнить выделенные ячейки значением из верхней.
Если первое слово всегда одинаковое (например, "Артикул"), используйте функцию ЗАМЕНИТЬ:
=ЗАМЕНИТЬ(A1;"Артикул ";"")
Как удалить первое слово в Google Sheets?
В Google Таблицах используйте аналогичные формулы, но с английскими названиями функций:
=MID(A1; FIND(" ";A1)+1; LEN(A1))
или (для нескольких пробелов):
=REGEXREPLACE(A1; "^[^ ]* "; "")
6. Ошибки и их решения
При удалении первого слова пользователи часто сталкиваются с типичными проблемами:
| Ошибка | Причина | Решение |
|---|---|---|
Формула возвращает #ЗНАЧ! |
В ячейке нет пробелов | Добавьте ЕСЛИОШИБКА или проверьте данные на пустые ячейки |
| Удаляется не первое, а второе слово | В тексте несколько подряд идущих пробелов | Используйте ПОДСТАВИТЬ(A1;" ";" ") перед основной формулой |
| Макрос не работает | Отключены макросы или выделен неверный диапазон | Проверьте настройки безопасности (Файл → Параметры → Центр управления безопасностью) |
| Power Query не разделяет текст | Разделитель — не пробел, а табуляция или другой символ | Вручную укажите правильный разделитель в настройках разбора |
Если после удаления первого слова остаются лишние пробелы, применяйте функцию СЖПРОБЕЛЫ:
=СЖПРОБЕЛЫ(ПСТР(A1;НАЙТИ(" ";A1)+1;ДЛСТР(A1)))
⚠️ Внимание: При работе с данными на кириллице и латинице одновременно (например, "Invoice №123") функцииНАЙТИ/ПОИСКмогут вести себя некорректно. В таких случаях используйтеПОИСКс явным указанием регистра или Power Query.
Частые вопросы (FAQ)
Как удалить первое слово, если оно разделено запятой или точкой?
Замените пробел в формулах на нужный разделитель. Например, для запятой:
=ПСТР(A1;НАЙТИ(",";A1)+1;ДЛСТР(A1))
Для Excel 365:
=ТЕКСТПОСЛЕ(A1;",")
Можно ли удалить первое слово без формул, только горячими клавишами?
Да, но это ручной метод для небольших диапазонов:
- Выделите ячейку, нажмите
F2(редактирование). - Удерживая
Shift, нажмите→до конца первого слова. - Нажмите
Delete, затемEnter.
Для повторения действия на других ячейках используйте Ctrl + Y (повторить последнее действие).
Почему после удаления первого слова остаётся пустая ячейка?
Это происходит, если в исходной ячейке было только одно слово (нет пробелов). Чтобы избежать пустых ячеек, модифицируйте формулу:
=ЕСЛИ(ДЛСТР(ПСТР(A1;НАЙТИ(" ";A1)+1;ДЛСТР(A1)))>0;
ПСТР(A1;НАЙТИ(" ";A1)+1;ДЛСТР(A1));
A1)
Эта формула вернёт исходное значение, если после удаления первого слова ничего не осталось.
Как удалить первое слово в диапазоне с объединёнными ячейками?
Объединённые ячейки блокируют работу формул и Power Query. Сначала разъедините их:
- Выделите диапазон с объединёнными ячейками.
- Нажмите
Главная → Объединить и поместить в центре → Отменить объединение ячеек. - Примените один из методов удаления первого слова.
Если объединение критично для структуры таблицы, создайте копию данных на другом листе и работайте с ней.
Можно ли вернуть первое слово обратно после удаления?
Если вы использовали формулы или Power Query, исходные данные не изменялись — просто удалите вспомогательный столбец. Если применяли VBA или ручное редактирование:
- 🔙 Отмените последнее действие (
Ctrl + Z). - 💾 Восстановите файл из резервной копии (если сохраняли).
- 📊 Используйте Журнал изменений (
Рецензирование → Журнал изменений), если функция включена.