Как удалить первое слово в ячейке Excel: формулы, Power Query и VBA

Удаление первого слова в ячейках 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 указывает, что нужно вернуть текст после первого найденного разделителя.

📊 Какой метод вы чаще используете для работы с текстом в Excel?
Формулы
Power Query
VBA
Ручная правка

3. Power Query: удаление первого слова в тысячах строк

Power Query (вкладка Данные → Получить данные) — лучший инструмент для обработки больших массивов (100 000+ строк). Он не тормозит файл и позволяет сохранить шаги трансформации для повторного использования.

Алгоритм действий:

  1. Выделите исходный диапазон и нажмите Данные → Из таблицы/диапазонаExcel 2016+).
  2. В открывшемся редакторе Power Query выберите столбец с текстом → Трансформировать → Разделить столбец → По разделителю.
  3. Укажите разделитель "Пробел", выберите вариант "На крайнее левое вхождение".
  4. Удалите первый из полученных столбцов (содержит первое слово), оставьте второй.
  5. Нажмите Закрыть и загрузить, чтобы вернуть данные в 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

Как использовать:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Вернитесь в Excel, выделите диапазон и запустите макрос (Alt + F8 → УдалитьПервоеСлово → Выполнить).

Для обработки конкретного столбца (например, A1:A1000) замените Set rng = Selection на:

Set rng = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
⚠️ Внимание: Макрос безвозвратно изменяет исходные данные. Перед запуском сохраните резервную копию файла или работайте на копии листа.

5. Ручное удаление первого слова (для небольших таблиц)

Если данных мало (<100 строк), а слова разделены одним пробелом, можно обойтись без формул:

  1. Добавьте справа от исходного столбца вспомогательный столбец.
  2. В первой ячейке вспомогательного столбца введите формулу из раздела 1.
  3. Протяните формулу вниз до конца диапазона.
  4. Скопируйте результаты (Ctrl + C) и вставьте их поверх исходного столбца как значения (Правая кнопка → Специальная вставка → Значения).
  5. Удалите вспомогательный столбец.

Для ускорения процесса используйте горячие клавиши:

  • 🔹 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;",")
Можно ли удалить первое слово без формул, только горячими клавишами?

Да, но это ручной метод для небольших диапазонов:

  1. Выделите ячейку, нажмите F2 (редактирование).
  2. Удерживая Shift, нажмите до конца первого слова.
  3. Нажмите Delete, затем Enter.

Для повторения действия на других ячейках используйте Ctrl + Y (повторить последнее действие).

Почему после удаления первого слова остаётся пустая ячейка?

Это происходит, если в исходной ячейке было только одно слово (нет пробелов). Чтобы избежать пустых ячеек, модифицируйте формулу:

=ЕСЛИ(ДЛСТР(ПСТР(A1;НАЙТИ(" ";A1)+1;ДЛСТР(A1)))>0;

ПСТР(A1;НАЙТИ(" ";A1)+1;ДЛСТР(A1));

A1)

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

Как удалить первое слово в диапазоне с объединёнными ячейками?

Объединённые ячейки блокируют работу формул и Power Query. Сначала разъедините их:

  1. Выделите диапазон с объединёнными ячейками.
  2. Нажмите Главная → Объединить и поместить в центре → Отменить объединение ячеек.
  3. Примените один из методов удаления первого слова.

Если объединение критично для структуры таблицы, создайте копию данных на другом листе и работайте с ней.

Можно ли вернуть первое слово обратно после удаления?

Если вы использовали формулы или Power Query, исходные данные не изменялись — просто удалите вспомогательный столбец. Если применяли VBA или ручное редактирование:

  • 🔙 Отмените последнее действие (Ctrl + Z).
  • 💾 Восстановите файл из резервной копии (если сохраняли).
  • 📊 Используйте Журнал изменений (Рецензирование → Журнал изменений), если функция включена.