Note: The other languages of the website are Google-translated. Back to English
Войти  \/ 
x
or
x
Регистрация  \/ 
x

or

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

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


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

В Excel функция ВПРАВО, объединяющая функции ДЛСТР, ПОИСК и ЗАМЕНА, может помочь вам создать формулу для решения этой задачи.

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

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

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


Пояснение к формуле:

1. LEN (A2) -LEN (ЗАМЕНА (A2; «-», «»)): Эта часть используется для получения количества знаков дефиса в ячейке A2.

  • LEN (A2): Эта функция LEN возвращает общее количество символов в ячейке A2. Он вернет: 44.
  • ПОДСТАВИТЬ (A2; "-"; ""): Эта функция ЗАМЕНА используется для замены всех дефисов ничем. И вы получите такой результат: «InsertDeleterows, листы, изображения, формулы».
  • LEN (ПОДСТАВИТЬ (A2; "-"; ""): Получить общую длину текстовой строки в ячейке A2 без дефисов.
  • LEN (A2) -LEN (ПОДСТАВИТЬ (A2; "-", "")): Вычтите длину текстовой строки без дефисов из общей длины строки, чтобы получить номер дефиса, и получится 2.

2. ЗАМЕНА (A2, «-», «#», LEN (A2) -LEN (ПОДСТАВИТЬ (A2, «-», «»))): Эта функция ЗАМЕНА используется для замены последнего дефиса, возвращенного формулой первой части, на символ #. И вы получите такой результат: «Insert-Delete # строки, листы, изображения, формулы».

3. ПОИСК ("#", ЗАМЕНА (A2, "-", "#", LEN (A2) -LEN (ПОДСТАВИТЬ (A2, "-", ""))))= ПОИСК ("#", "Вставить-Удалить # строк, листов, изображений, формул"): Эта функция ПОИСК вернет позицию символа # в текстовой строке, возвращенной функцией ПОДСТАВКА. Он получит номер 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,"-","")))))= ВПРАВО (A2; 30): Наконец, функция ПРАВО используется для извлечения 30 символов, которые возвращаются формулой на шаге 4 из правой части текстовой строки в ячейке A2.


Ноты:

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

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

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

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


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

Вот еще одна простая формула, созданная функциями ОБРЕЗАТЬ, ВПРАВО, ПОДСТАВИТЬ, ПОВТОР и ДЛИТЕЛЬСТВО, также может помочь вам решить эту задачу в Excel.

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

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

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


Пояснение к формуле:

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

2. ЗАМЕНА (A2; "-", ПОВТОР ("", LEN (A2))):

  • ПОВТОР (""; LEN (A2): Эта функция REPT используется для получения количества строк пробелов в зависимости от длины ячейки A2.
  • ПОДСТАВИТЬ (A2; "-", ПОВТОР ("", LEN (A2))): Эта функция ЗАМЕНА заменит символы дефиса в ячейке A2 пробелами, возвращаемыми функцией REPT.

Эта формула части будет распознана как текстовый аргумент в функции ПРАВО.

3. ВПРАВО (ПОДСТАВИТЬ (A2; «-», ПОВТОР («», LEN (A2))), LEN (A2)): Эта функция RIGHT получит текст из правой части текстовой строки, возвращаемой функцией SUBSTITUTE.

4. ОБРЕЗАТЬ (): Эта функция TRIM используется, чтобы удалить все лишние пробелы и оставить только один пробел между словами.


Используемые относительные функции:

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

Другие статьи:

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

Лучшие инструменты для работы в офисе

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

Хотите быстро и безупречно выполнять свою повседневную работу? Kutools for Excel предлагает мощные расширенные функции 300 (объединение книг, сумма по цвету, разделение содержимого ячеек, дата преобразования и так далее ...) и экономия 80% времени для вас.

  • Рассчитан на 1500 сценариев работы, помогает решить 80% задач Excel.
  • Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
  • Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
  • 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.
Лента Excel (с установленным Kutools for Excel)

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

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.
Снимок экрана Excel (с установленной вкладкой Office)
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.