Извлечение текста после последнего вхождения определенного символа
Если у вас есть список сложных текстовых строк, содержащих несколько разделителей (например, как на скриншоте ниже, где используются дефисы, запятые и пробелы внутри ячейки), и вы хотите найти позицию последнего вхождения дефиса, а затем извлечь подстроку после него. В этой статье я представлю несколько формул для выполнения этой задачи.
- Формула 1: Извлечение подстроки после последнего вхождения определенного разделителя
- Формула 2: Извлечение подстроки после последнего вхождения определенного разделителя
Формула 1: Извлечение подстроки после последнего вхождения определенного разделителя
В Excel функция RIGHT, которая сочетается с функциями LEN, SEARCH и SUBSTITUTE, может помочь вам создать формулу для решения этой задачи.
1. Чтобы извлечь подстроку после последнего вхождения дефиса, пожалуйста, введите или скопируйте следующую формулу в пустую ячейку:
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”.
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. Если в текстовой строке отсутствует указанный разделитель, приведенная выше формула вернет ошибочное значение, как показано на скриншоте:
Чтобы исправить эту ошибку, вы можете заключить указанную выше формулу в функцию IFERROR, пожалуйста, примените следующую формулу:
Формула 2: Извлечение подстроки после последнего вхождения определенного разделителя
Вот еще одна простая формула, созданная с помощью функций TRIM, RIGHT, SUBSTITUTE, REPT и LEN, которая также поможет вам решить эту задачу в Excel.
1. Пожалуйста, скопируйте или введите следующую формулу в пустую ячейку, где вы хотите получить результат:
2. Затем перетащите маркер заполнения вниз к ячейкам, куда вы хотите применить эту формулу, и все подстроки после последних дефисов будут извлечены, как показано на скриншоте ниже:
Объяснение формулы:
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
- Может быть, вам часто требуется извлекать подстроки из текстовых строк. В Excel нет прямой функции для этого, но с помощью функций LEFT, RIGHT, MID и SEARCH вы можете извлекать различные типы подстрок по мере необходимости.
Лучшие инструменты для повышения производительности Office
Kutools для Excel - Помогает вам выделиться из толпы
Kutools для Excel имеет более 300 функций, гарантируя, что нужный вам инструмент находится всего в одном клике...
Office Tab - Включите работу с вкладками в Microsoft Office (включая Excel)
- Один щелчок мыши, чтобы переключаться между десятками открытых документов!
- Сократите сотни кликов мышью ежедневно, попрощайтесь с болью в руке.
- Увеличивает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.