Перейти к содержимому

Извлечение текста после последнего вхождения определенного символа

Author: Xiaoyang Last Modified: 2025-06-05

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

doc-extract-text-after-last-character-1


Формула 1: Извлечение подстроки после последнего вхождения определенного разделителя

В Excel функция RIGHT, которая сочетается с функциями LEN, SEARCH и SUBSTITUTE, может помочь вам создать формулу для решения этой задачи.

1. Чтобы извлечь подстроку после последнего вхождения дефиса, пожалуйста, введите или скопируйте следующую формулу в пустую ячейку:

=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))))

2. Затем перетащите маркер заполнения вниз к ячейкам, куда вы хотите применить эту формулу, и вы получите результат, как показано на скриншоте ниже:

doc-extract-text-after-last-character-2


Объяснение формулы:

1. LEN(A2)-LEN(SUBSTITUTE(A2,"-","")): Эта часть используется для получения количества символов дефисов в ячейке A2.

  • LEN(A2): Эта функция LEN возвращает общее количество символов в ячейке A2. Она вернет: 44.
  • SUBSTITUTE(A2,"-",""): Эта функция SUBSTITUTE используется для замены всех дефисов на ничего. Вы получите результат: “InsertDeleterows, sheets, images, formulas”.
  • LEN(SUBSTITUTE(A2,"-",""): Получает общую длину текстовой строки в ячейке A2 без дефисов.
  • LEN(A2)-LEN(SUBSTITUTE(A2,"-","")): Вычитает длину текстовой строки без дефисов из общей длины строки, чтобы получить количество дефисов, и это даст 2.

2. SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))): Эта функция SUBSTITUTE используется для замены последнего вхождения дефиса, которое возвращается первой частью формулы, на символ #. Вы получите такой результат: “Insert-Delete#rows, sheets, images, formulas”.

doc-extract-text-after-last-character-3

3. SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))= SEARCH("#", "Insert-Delete#rows, sheets, images, formulas"): Эта функция SEARCH вернет позицию символа # в текстовой строке, возвращенной функцией SUBSTUTTE. Она вернет число 14.

4. LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))): Эта часть формулы определяет, сколько символов находится после последнего дефиса. Это даст число 30.

5. RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-","")))))= RIGHT(A2, 30): Наконец, функция RIGHT используется для извлечения 30 символов, которые возвращает формула из шага 4, с правой стороны текстовой строки в ячейке A2.


Примечания:

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

2. Если в текстовой строке отсутствует указанный разделитель, приведенная выше формула вернет ошибочное значение, как показано на скриншоте:

doc-extract-text-after-last-character-4

Чтобы исправить эту ошибку, вы можете заключить указанную выше формулу в функцию IFERROR, пожалуйста, примените следующую формулу:

=IFERROR(RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,"-","#",LEN(A2)-LEN(SUBSTITUTE(A2,"-",""))))), A2)

doc-extract-text-after-last-character-5


Формула 2: Извлечение подстроки после последнего вхождения определенного разделителя

Вот еще одна простая формула, созданная с помощью функций TRIM, RIGHT, SUBSTITUTE, REPT и LEN, которая также поможет вам решить эту задачу в Excel.

1. Пожалуйста, скопируйте или введите следующую формулу в пустую ячейку, где вы хотите получить результат:

=TRIM(RIGHT(SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))),LEN(A2)))

2. Затем перетащите маркер заполнения вниз к ячейкам, куда вы хотите применить эту формулу, и все подстроки после последних дефисов будут извлечены, как показано на скриншоте ниже:

doc-extract-text-after-last-character-6


Объяснение формулы:

1. LEN(A2): Эта функция LEN возвращает общее количество символов в ячейке A2. Это будет распознано как аргумент num_chars в функции RIGHT. Она вернет: 44.

2. SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))):

  • REPT(" ",LEN(A2): Эта функция REPT используется для получения числа пробельных строк на основе длины ячейки A2.
  • SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))): Эта функция SUBSTITUTE заменит символы дефисов в ячейке A2 пробельными строками, которые возвращает функция REPT.

Эта часть формулы будет распознана как аргумент text в функции RIGHT.

3. RIGHT(SUBSTITUTE(A2,"-",REPT(" ",LEN(A2))),LEN(A2)): Эта функция RIGHT получит текст с правой стороны текстовой строки, возвращенной функцией SUBSTITUTE.

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


Связанные функции:

  • RIGHT:
  • Функция RIGHT извлекает определенное количество символов с правой стороны текстовой строки.
  • SEARCH:
  • Функция SEARCH помогает найти позицию определенного символа или подстроки в заданном тексте.
  • LEN:
  • Функция LEN возвращает количество символов в текстовой строке.
  • SUBSTITUTE:
  • Функция SUBSTITUTE в Microsoft Excel заменяет текст или символы в текстовой строке другим текстом или символами.
  • TRIM:
  • Функция TRIM удаляет все лишние пробелы из текстовой строки, оставляя только одинарные пробелы между словами.
  • REPT:
  • Функция REPT используется для повторения символов определенное количество раз.

Больше статей:

  • Извлечение нескольких строк из ячейки
  • Если у вас есть список текстовых строк, разделенных разрывами строк (что происходит при нажатии клавиш Alt + Enter во время ввода текста), и вы хотите извлечь эти строки текста в несколько ячеек, как показано на скриншоте ниже. Как можно решить эту задачу с помощью формулы в Excel?
  • Извлечение N-го слова из текстовой строки в Excel
  • Если у вас есть список текстовых строк или предложений, и вы хотите извлечь конкретное n-е слово из списка, как показано на скриншоте ниже. В этой статье я представлю несколько методов для решения этой задачи в Excel.
  • Извлечение подстроки из текстовой строки в Excel
  • Может быть, вам часто требуется извлекать подстроки из текстовых строк. В Excel нет прямой функции для этого, но с помощью функций LEFT, RIGHT, MID и SEARCH вы можете извлекать различные типы подстрок по мере необходимости.

Лучшие инструменты для повышения производительности Office

Kutools для Excel - Помогает вам выделиться из толпы

🤖 KUTOOLS AI Помощник: Революционизируйте анализ данных на основе: Интеллектуального выполнения   |  Генерация кода  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов расширенных функций Kutools
Популярные функции: Найти, Выделить или Отметить дубликаты  |  Удалить пустые строки  |  Объединить столбцы или ячейки без потери данных  |  Округлить без формулы ...
Супер VLookup: Множественные критерии  |  Множественные значения  |  По нескольким листам  |  Распознавание нечетких соответствий...
Расширенный выпадающий список: Простой выпадающий список  |  Зависимый выпадающий список  |  Выпадающий список с множественным выбором...
Управление столбцами: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить видимость скрытых столбцов  Сравнить столбцы для выбора одинаковых и разных ячеек ...
Основные функции: Сетка фокусировки  |  Дизайн листа  |  Улучшенная строка формул  |  Управление книгами и листами | Библиотека автотекста (Auto Text)  |  Выбор даты  |  Объединить данные  |  Шифровать/Расшифровать ячейки  |  Отправить письма по списку  |  Супер фильтр  |  Специальный фильтр (фильтр жирного/курсивного/зачеркнутого текста...) ...
Топ-15 наборов инструментов12 текстовых инструментов (Добавить текст, Удалить определенные символы ...)  |  50+ типов диаграмм (Диаграмма Ганта ...)  |  40+ практических формул (Расчет возраста на основе даты рождения ...)  |  19 инструментов вставки (Вставить QR-код, Вставить изображение по пути ...)  |  12 инструментов преобразования (Преобразовать в слова, Конвертация валюты ...)  |  7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки Excel ...)  |  ... и многое другое

Kutools для Excel имеет более 300 функций, гарантируя, что нужный вам инструмент находится всего в одном клике...


Office Tab - Включите работу с вкладками в Microsoft Office (включая Excel)

  • Один щелчок мыши, чтобы переключаться между десятками открытых документов!
  • Сократите сотни кликов мышью ежедневно, попрощайтесь с болью в руке.
  • Увеличивает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.