Гид по технологиям

Как вычесть текст в Excel

6 min read Excel Обновлено 05 Jan 2026
Как вычесть текст в Excel
Как вычесть текст в Excel

Обложка: вычитание текста в Excel.

Введение

Вычесть текст в Excel значит удалить одну подстроку из другой. Для этого нет отдельной кнопки-переключателя; нужно составить формулу. Результат может быть чувствительным к регистру или нет, в зависимости от выбранных функций.

Ключевые термины — в одну строку:

  • SUBSTITUTE: заменяет в строке искомую подстроку указанным текстом.
  • REPLACE: заменяет участок по позиции и длине.
  • SEARCH: находит позицию подстроки (нечувствителен к регистру).
  • LEN: возвращает длину строки в символах.
  • REGEXREPLACE: заменяет по регулярному выражению (Excel 365).

Когда это нужно

  • Удалить одно слово или фразу из ячейки с текстом.
  • Нормализовать текстовые данные (убрать стандартный префикс/суффикс).
  • Исправить шаблонные ошибки в большом наборе строк.

Important: всегда работайте с копией данных, если не уверены в исходном результате.

Основные подходы — обзор

  • SUBSTITUTE: простой и быстрый, чувствителен к регистру. Удаляет все вхождения подстроки.
  • REPLACE + SEARCH + LEN: нечувствителен к регистру (поскольку SEARCH нечувствителен), полезен для удаления первого вхождения или когда нужно заменить по позиции.
  • REGEXREPLACE (Excel 365): гибкость регулярных выражений — удаление шаблонов, целых слов, повторов и т. п.
  • Flash Fill / Поиск и замена: быстродействующие интерактивные способы для простых задач.
  • VBA / LAMBDA: для сложных, повторяющихся или специфичных операций.

Чувствительное к регистру удаление (SUBSTITUTE)

SUBSTITUTE ищет точные вхождения и заменяет их. Если хотите удалить вхождение — заменяете на пустую строку. Часто добавляют TRIM, чтобы убрать лишние пробелы.

Пример формулы:

=TRIM(SUBSTITUTE(A1,B1,""))

Пояснение:

  • A1 — исходный текст.
  • B1 — текст, который нужно удалить.
  • SUBSTITUTE заменяет все точные вхождения B1 в A1 на пустую строку.
  • TRIM убирает лишние пробелы по краям и между словами.

Пошагово:

  1. Выберите ячейку результата, например D1.
  2. Введите формулу: =TRIM(SUBSTITUTE(A1,B1,"") ).
  3. Нажмите Enter.

Когда подходит:

  • Удаление подстроки при точном совпадении регистра.

Ограничения:

  • Если в A1 есть вхождения с другим регистром (например “слово” vs “Слово”), SUBSTITUTE их не удалит.
  • SUBSTITUTE удаляет все вхождения. Если нужен только первый — используйте REPLACE.

Использование функции SUBSTITUTE для удаления текста в Excel.

Нечувствительное к регистру удаление (REPLACE + SEARCH + LEN)

Если регистр должен игнорироваться и вы хотите удалить конкретное вхождение по позиции, комбинируйте SEARCH и LEN внутри REPLACE. SEARCH возвращает позицию первого вхождения без учёта регистра; LEN даёт длину строки для удаления.

Формула:

=TRIM(REPLACE(A1, SEARCH(B1, A1), LEN(B1), ""))

Пояснение по шагам:

  • SEARCH(B1, A1) — находит позицию начала первого совпадения B1 в A1. SEARCH нечувствителен к регистру.
  • LEN(B1) — количество символов, которые нужно удалить.
  • REPLACE удаляет участок от найденной позиции длиной LEN(B1) и заменяет его на пустую строку.
  • TRIM убирает лишние пробелы.

Пошагово:

  1. Выберите ячейку результата (например, D1).
  2. Введите формулу: =TRIM(REPLACE(A1, SEARCH(B1, A1), LEN(B1), "")).
  3. Нажмите Enter.

Примечание: если SEARCH не найдёт подстроку, формула вернёт ошибку. Можно обернуть в IFERROR, чтобы вернуть исходный текст или пустую строку:

=IFERROR(TRIM(REPLACE(A1, SEARCH(B1, A1), LEN(B1), "")), A1)

Удаление текста в Excel с помощью функции REPLACE.

Альтернативы и расширенные техники

  1. REGEXREPLACE (Excel 365)
  • Подходит для удаления по шаблону, целых слов, или множества вариантов.

Пример: удалить целое слово, совпадающее с B1, с учётом границ слова:

=TRIM(REGEXREPLACE(A1, "\b" & B1 & "\b", ""))

Преимущества:

  • Точное удаление целых слов, поддержка шаблонов.
  • Можно удалить все варианты раздельно, например цифры, символы и т. п.

Ограничения:

  • Требует Excel с поддержкой функций регулярных выражений.
  1. Flash Fill (Быстрая обработка)
  • Подходит при однообразной трансформации: начните вводить желаемый результат в соседней колонке, Excel предложит заполнение.
  • Без формул, удобно для одноразовых задач.
  1. Поиск и замена (Ctrl+H)
  • Быстро для массовых правок в выбранном диапазоне.
  • Не гибок для условной логики.
  1. VBA макрос (если необходимо многократно и по сложным правилам)

Пример макроса удаления первой найденной подстроки:

Function RemoveFirstOccurrence(ByVal text As String, ByVal toRemove As String) As String
    Dim pos As Long
    pos = InStr(1, text, toRemove, vbTextCompare) ' нечувствителен к регистру
    If pos > 0 Then
        RemoveFirstOccurrence = Trim(Left(text, pos - 1) & Mid(text, pos + Len(toRemove)))
    Else
        RemoveFirstOccurrence = text
    End If
End Function

Примечание: в VBA InStr с параметром vbTextCompare делает поиск нечувствительным к регистру.

  1. LAMBDA и пользовательские функции
  • В Excel 365 можно оформить повторяющуюся логику как LAMBDA и вызывать как функцию в листе.

Частые сценарии и готовые решения

Сценарий A — удалить все вхождения слова и убрать лишние пробелы:

=TRIM(SUBSTITUTE(A1, "слово", ""))

Сценарий B — удалить только первое вхождение, игнорируя регистр:

=IFERROR(TRIM(REPLACE(A1, SEARCH(B1, A1), LEN(B1), "")), A1)

Сценарий C — удалить слово как отдельную лексему (Excel 365):

=TRIM(REGEXREPLACE(A1, "\b" & B1 & "\b", ""))

Сценарий D — удалить все вхождения нескольких вариантов (например, “inc.”, “ltd.”):

=TRIM(REGEXREPLACE(A1, "\b(inc\.|ltd\.)\b", ""))

Сценарий E — удалить подстроку, только если она стоит в конце строки:

=IF(RIGHT(A1, LEN(B1))=B1, LEFT(A1, LEN(A1)-LEN(B1)), A1)

Частые проблемы и как их решать

  • Ошибка из-за отсутствия вхождения при использовании SEARCH или REPLACE: оборачивайте в IFERROR.
  • Нежелательное удаление частей слов (например, удалили “art” в слове “party”): используйте границы слова через REGEXREPLACE или добавляйте пробелы в шаблон.
  • Повторяющиеся вхождения: SUBSTITUTE удалит все сразу; если нужен только первый — используйте REPLACE.
  • Unicode и похожие символы: убедитесь, что символы действительно совпадают (не разные варианты кавычек, апострофов и т. п.).
  • Переносы строки: TRIM не удаляет переносы; используйте CLEAN или SUBSTITUTE для удаления CHAR(10).

Примеры очистки переносов:

=TRIM(SUBSTITUTE(A1, CHAR(10), " "))

Чек-листы по ролям

Data Entry:

  • Всегда делайте копию столбца перед массовым удалением.
  • Проверяйте 10 случайных строк вручную.

Аналитик:

  • Тестируйте формулу на граничных случаях: начало строки, конец строки, несколько подряд и нечётная пунктуация.
  • Используйте IFERROR и логгирование (в отдельную колонку) для строк, где поиск не дал результата.

Power User / Разработчик:

  • Если операция повторяется часто, упакуйте логику в LAMBDA или макрос.
  • Документируйте шаблоны REGEX, чтобы другие понимали правила удаления.

Критерии приёмки

  1. Формула корректно удаляет ожидаемое вхождение в 100% тестовых строк.
  2. Нет случайной порчи смежных слов (проверка на целые слова при необходимости).
  3. Ошибки обработки возвращают понятный результат или исходный текст.
  4. Пробелы и переносы корректно нормализованы.

Ментальные модели и рекомендации

  • Если нужна массовая и простая замена — используйте SUBSTITUTE.
  • Если важен регистр — используйте SUBSTITUTE (тогда учитывайте регистр).
  • Если нужен контроль по позиции или только первое вхождение — используйте REPLACE + SEARCH.
  • Для сложных шаблонов — REGEXREPLACE.
  • Для одноразовой ручной коррекции — Flash Fill или Ctrl+H.

Edge-case галерея

  • Повторяющиеся подряд вхождения: “aaa” удаление “a” -> результат пустой или неочевидные пробелы.
  • Пересекающиеся совпадения (редкие): шаблоны, удаляющие одно, могут повлиять на другое.
  • Псевдоподобные символы Unicode и разные типы пробелов.
  • Удаление подстроки меняет смысл: проверяйте семантику для текстовых описаний.

Короткий пример рабочего процесса (мини-методология)

  1. Скопируйте исходные данные.
  2. Определите правило удаления (всё вхождения / только первое / целое слово).
  3. Выберите инструмент (SUBSTITUTE / REPLACE / REGEXREPLACE / VBA).
  4. Протестируйте на 10–20 разных строках.
  5. Автоматизируйте и задокументируйте.

Резюме

Вычесть текст в Excel можно разными способами: SUBSTITUTE для простых точных замен, REPLACE+SEARCH для нечувствительных к регистру и позиционных замен, REGEXREPLACE для шаблонных задач и VBA/LAMBDA для сложных или повторяющихся сценариев. Всегда тестируйте формулы на примерах и оборачивайте в IFERROR, если возможны отсутствующие вхождения.

Notes: Если вы работаете в Excel Online/365, проверьте наличие REGEXREPLACE и LAMBDA — они сильно упрощают многие задачи.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство