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

- Формула 1: извлечение подстроки после последнего вхождения определённого разделителя
- Формула 2: извлечение подстроки после последнего вхождения определённого разделителя
Формула 1: извлечение подстроки после последнего вхождения определённого разделителя
В Excel функция ПРАВСИМВ в сочетании с функциями ДЛСТР, НАЙТИ и ПОДСТАВИТЬ поможет создать формулу для решения этой задачи.
1. Чтобы извлечь подстроку после последнего вхождения дефиса, вставьте или скопируйте следующую формулу в пустую ячейку:
2. Затем перетащите маркер заполнения вниз до ячеек, к которым нужно применить формулу, — и вы получите результат, как показано на скриншоте ниже:

Пояснение формулы:
1. LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»)): эта часть формулы определяет количество дефисов в ячейке A2.
- LEN(A2): эта функция ДЛСТР возвращает общее количество символов в ячейке A2. Результат — 44.
- ПОДСТАВИТЬ(A2;"-";«»): эта функция ПОДСТАВИТЬ заменяет все дефисы на пустую строку. В результате вы получите: «InsertDeleterows, sheets, images, formulas».
- ДЛСТР(ПОДСТАВИТЬ(A2;"-";«»)): получение общей длины текстовой строки в ячейке A2 без дефисов.
- LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»)): вычитание длины текстовой строки без дефисов из общей длины строки позволяет определить количество дефисов. Результат: 2.
2. ПОДСТАВИТЬ(A2;"-";«#»;LEN(A2)-LEN(ПОДСТАВИТЬ(A2;"-";«»))): эта функция ПОДСТАВИТЬ заменяет последнее вхождение дефиса (рассчитанное первой частью формулы) на символ #. В результате вы получите: «Insert-Delete#rows, sheets, images, formulas».

3. SEARCH(«#»,SUBSTITUTE(A2,"-",«#»,LEN(A2)-LEN(SUBSTITUTE(A2,"-",«»))))=SEARCH(«#», «Insert-Delete#rows, sheets, images, formulas»): функция НАЙТИ возвращает позицию символа # в текстовой строке, преобразованной с помощью функции ПОДСТАВИТЬ. Результат: 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): наконец, функция ПРАВСИМВ извлекает с правой стороны текстовой строки в ячейке A2 30 символов (рассчитанных на шаге 4).
Примечания:
1. Если вам нужно извлечь текст после последнего вхождения другого разделителя, просто замените дефис на нужный вам символ-разделитель.
2. Если указанный разделитель отсутствует в текстовой строке, приведённая выше формула вернёт ошибку, как показано на скриншоте:

Чтобы устранить эту ошибку, оберните приведённую выше формулу в функцию ЕСЛИОШИБКА, используя следующее выражение:

Формула 2: извлечение подстроки после последнего вхождения определённого разделителя
Вот ещё одна простая формула, созданная с использованием функций СЖПРОБЕЛЫ, ПРАВСИМВ, ПОДСТАВИТЬ, ПОВТОР и ДЛСТР, которая также поможет решить эту задачу в Excel.
1. Скопируйте или вставьте приведённую ниже формулу в пустую ячейку, где вы хотите получить результат:
2. Затем перетащите маркер заполнения вниз на ячейки, к которым нужно применить эту формулу, — и все подстроки после последних дефисов будут извлечены, как показано на скриншоте ниже:

Пояснение формулы:
1. LEN(A2): функция ДЛСТР возвращает общее количество символов в ячейке A2. Это значение используется как аргумент «количество_знаков» в функции ПРАВСИМВ. Результат: 44.
2. ПОДСТАВИТЬ(A2;"-";REPT(« »,LEN(A2))):
- ПОВТОР(« »;LEN(A2)): эта функция ПОВТОР создаёт строку из пробелов, длина которой равна количеству символов в ячейке A2.
- ПОДСТАВИТЬ(A2;"-";ПОВТОР(« »;ДЛСТР(A2))): эта функция ПОДСТАВИТЬ заменяет дефисы в ячейке A2 на строку пробелов, возвращаемую функцией ПОВТОР.
Эта часть формулы используется как аргумент текст в функции ПРАВСИМВ.
3. RIGHT(SUBSTITUTE(A2,"-",REPT(« »,LEN(A2))),LEN(A2)): с помощью функции ПРАВСИМВ извлекается текст с правой части строки, возвращённой функцией ПОДСТАВИТЬ.
4. TRIM(): эта функция СЖПРОБЕЛЫ удаляет все лишние пробелы, оставляя между словами только один.
Используемые связанные функции:
- RIGHT:
- Функция ПРАВСИМВ извлекает указанное количество символов с правого конца текстовой строки.
- SEARCH:
- Функция НАЙТИ позволяет точно определить позицию нужного символа или подстроки в указанном тексте.
- LEN:
- Функция ДЛСТР возвращает количество символов в текстовой строке.
- SUBSTITUTE:
- Функция Microsoft Excel ПОДСТАВИТЬ заменяет указанный текст или символы внутри текстовой строки на другие текст или символы.
- TRIM:
- Функция СЖПРОБЕЛЫ удаляет все лишние пробелы из текстовой строки, оставляя между словами только по одному пробелу.
- REPT:
- Функция ПОВТОР позволяет повторить указанные символы заданное количество раз.
Другие статьи:
- Извлечение нескольких строк из ячейки
- Если у вас есть список текстовых строк, разделённых разрывами строк (которые создаются нажатием Alt + Enter при вводе), и вы хотите извлечь эти строки в отдельные ячейки, как показано на скриншоте ниже, — как это можно сделать с помощью формулы в Excel?
- Извлечение N-го слова из текстовой строки в Excel
- Если у вас есть список текстовых строк или предложений и вы хотите извлечь из них определённое N-е слово — как показано на скриншоте ниже, — в этой статье я расскажу о нескольких способах решения этой задачи в Excel.
- Извлечение текста Извлечь текст между скобками из текстовой строки
- Если часть текста в ячейке заключена в скобки, как быстро и легко извлечь всё содержимое между ними — как показано на скриншоте ниже — с помощью Excel?
- Извлечение подстроки из текстовой строки в Excel
- Возможно, вам часто приходится извлекать подстроки из текстовых строк. В Excel нет прямой функции для этого, но с помощью функций ЛЕВСИМВ, ПРАВСИМВ, ПСТР и НАЙТИ вы можете извлекать различные подстроки по своему усмотрению.
Лучшие инструменты для повышения продуктивности в Office
Kutools для Excel — Помогает вам выделиться из толпы
Kutools для Excel предлагает более 300 функций,гарантируя, что всё необходимое всегда под рукой…
Office Tab — Включает вкладки для чтения и редактирования в Microsoft Office (включая Excel)
- Переключайтесь между десятками открытых документов всего за секунду!
- Сократите сотни кликов мышью каждый день и забудьте о «мышечной руке».
- Повышает продуктивность на 50 % при одновременном просмотре и редактировании нескольких документов.
- Добавляет удобство работы с вкладками в Office (включая Excel) — как в Chrome, Edge и Firefox.