Быстрая очистка данных в Excel от мусора

Иван Корнев·09.04.2026·4 мин

Чтобы удалить лишние символы, слова или ссылки в Excel, используйте функцию =SUBSTITUTE(ячейка; "что_удалить"; "") для точечной замены, =TRIM() для удаления пробелов и макрос VBA для массовой очистки гиперссылок. Эти методы позволяют превратить неструктурированный текст в чистые данные за несколько минут без использования сторонних программ.

Ниже приведены пошаговые инструкции для разных типов «мусора»: от простых точек до сложных гиперссылок.

Главное правило: Всегда работайте с копией данных или создавайте новый столбец для формул. Прямая замена через «Найти и заменить» необратима, если вы не сделали резервную копию.

Удаление конкретных символов и знаков препинания

Самый универсальный инструмент — функция ПОДСТАВИТЬ (в английской версии SUBSTITUTE). Она заменяет указанный символ на пустоту или другой знак.

Базовый синтаксис

Формула выглядит так: =ПОДСТАВИТЬ(A1; "."; "") Где A1 — ячейка с данными, "." — символ, который нужно убрать, а "" — пустота (то, на что меняем).

Примеры очистки

ЗадачаФормулаРезультат
Убрать точки=ПОДСТАВИТЬ(A1; "."; "")Товар.123Товар123
Убрать восклицательные знаки=ПОДСТАВИТЬ(A1; "!"; "")Акция!Акция
Убрать скобки=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; "("; ""); ")"; "")(Москва)Москва

Для удаления нескольких разных символов сразу вкладывайте функции одну в другую: =ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; "."; ""); ","; "")

Если после удаления символов остались лишние пробелы, оберните формулу в функцию СЖПРОБЕЛЫ (TRIM): =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A1; "."; "")) Это удалит двойные пробелы и пробелы в начале/конце строки.

Как удалить лишние слова и части текста

Часто в ячейках содержатся лишние приставки вроде «http://», «www.» или служебные слова. Логика та же, что и с символами, но важно учитывать пробелы, чтобы не слились слова.

Пример удаления префиксов ссылок: =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; "http://"; ""); "https://"; ""))

Если нужно удалить слово целиком вместе с окружающими пробелами (например, слово "бесплатно"), убедитесь, что в формуле указаны пробелы вокруг удаляемого слова: =ПОДСТАВИТЬ(A1; " бесплатно"; "")

Для пользователей Excel 365 доступна более продвинутая очистка с помощью текстовых функций, позволяющих игнорировать целые списки стоп-слов, но для разовых задач вложенный ПОДСТАВИТЬ остается самым надежным и совместимым методом.

Удаление невидимых символов и переносов строк

При копировании данных из веба или PDF в ячейки часто попадают неразрывные пробелы (код 160) и символы переноса строки, которые ломают формулы поиска (ВПР/VLOOKUP).

  1. Функция ПЕЧСИМВ (CLEAN): Удаляет первые 32 непечатаемых символа кода ASCII (переносы строк, табуляцию). =ПЕЧСИМВ(A1)
  2. Замена неразрывного пробела: Обычный СЖПРОБЕЛЫ не всегда видит спецпробел из интернета. Используйте комбинацию: =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПЕЧСИМВ(A1); СИМВОЛ(160); " "))

Эта связка гарантированно очищает ячейку до «кристального» состояния, пригодного для расчетов.

Полное удаление гиперссылок

Гиперссылки в Excel — это объекты, а не просто текст. Формулы могут работать с их текстовым отображением, но фильтры и сортировка часто ведут себя некорректно.

Способ 1: Через буфер обмена (быстро для небольших таблиц)

  1. Выделите диапазон ячеек со ссылками.
  2. Нажмите Ctrl+C (Копировать).
  3. Не снимая выделения, нажмите правой кнопкой мыши → Специальная вставка → выберите Значения. Ссылки исчезнут, останется только текст.

Способ 2: Макрос VBA (для тысяч строк)

Если нужно удалить ссылки во всей книге или огромном диапазоне, используйте макрос.

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. В меню выберите InsertModule.
  3. Вставьте следующий код:
Sub RemoveAllHyperlinks()
    Dim cell As Range
    ' Проходит по всем выделенным ячейкам
    For Each cell In Selection
        If cell.Hyperlinks.Count > 0 Then
            cell.Hyperlinks.Delete
        End If
        ' Опционально: убирает текст http/https из содержимого
        cell.Value = Replace(Replace(cell.Value, "http://", ""), "https://", "")
    Next cell
End Sub
  1. Закройте редактор, выделите нужный диапазон в Excel и нажмите Alt + F8, выберите RemoveAllHyperlinks и нажмите Выполнить.

Макросы нельзя отменить комбинацией Ctrl+Z. Перед запуском обязательно сохраните файл или протестируйте макрос на копии данных.

Массовая обработка через Power Query

Если вам нужно регулярно чистить поступающие файлы (например, ежедневные выгрузки), настройте процесс один раз в Power Query.

  1. Выделите таблицу → вкладка ДанныеИз таблицы/диапазона.
  2. В редакторе Power Query выберите столбец.
  3. На вкладке Преобразование:
    • Используйте ФорматОчистить (аналог ПЕЧСИМВ).
    • Используйте Заменить значения, чтобы удалить конкретные символы или слова массово.
    • Используйте Разделить столбец по разделителю (например, по точке или слэшу), чтобы отделить нужную часть адреса от мусора.
  4. Нажмите Закрыть и загрузить.

Преимущество метода: при поступлении новых данных достаточно нажать кнопку Обновить, и вся очистка применится автоматически.

Частые ошибки при очистке

  • Потеря ведущих нулей. При очистке телефонных номеров или кодов формулы могут превратить 007 в 7. Чтобы этого избежать, предварительно установите для столбца текстовый формат или добавьте апостроф ' перед числом в формуле.
  • «Слипание» слов. При удалении запятой или точки между словами (например, Иван,Петров) слова соединятся (ИванПетров). Всегда заменяйте знак препинания на пробел " ", а затем применяйте СЖПРОБЕЛЫ.
  • Игнорирование регистра. Функция ПОДСТАВИТЬ чувствительна к регистру. ПОДСТАВИТЬ(A1; "http"; "") не удалит HTTP. Для надежности используйте вложенные замены или приводите текст к одному регистру функцией СТРОЧН (LOWER) перед очисткой.

FAQ

Можно ли удалить все цифры из текста формулой? Стандартными функциями Excel это сделать сложно. Потребуется длинная вложенная формула с перебором всех цифр от 0 до 9 или использование пользовательской функции на VBA (UDF). Для разовой задачи проще использовать «Найти и заменить» (Ctrl+H), вводя цифры по одной.

Как удалить всё после определенного символа (например, после @)? Используйте комбинацию функций: =ЛЕВСИМВ(A1; НАЙТИ("@"; A1) - 1) Эта формула возьмет текст слева от символа @. Если символа может не быть, оберните в ЕСЛИОШИБКА.

Почему функция СЖПРОБЕЛЫ не убирает пробелы? Скорее всего, в ячейке находится неразрывный пробел (часто встречается при копировании с сайтов). Используйте формулу с заменой СИМВОЛ(160) на обычный пробел, как описано в разделе про невидимые символы.