Какая формула лучше подходит для извлечения текста после определенного символа или словосочетания?

Вопрос или проблема

Я использую более старую версию Excel, поэтому не могу воспользоваться многими новыми формулами, которые могли бы облегчить мне жизнь.

Я сейчас пытаюсь получить весь текст после определенного символа.

Пример ‘12345678 CustomerName
Желаемый результат – это “CustomerName”

Начальные цифры могут изменяться по длине.

Я уже пробовал функцию Textafter(), но она не работает. Мы используем версию 2019 года, и функция textafter не появляется в списках доступных. Я получаю ошибку #Name?

Если это лучшая формула или есть что-то лучшее, что я могу использовать?

=IFERROR(MID(K2,LEN(K2),SEARCH(” “,K2,LEN(K2))),MID(K2,9,30))

Я проводил дополнительные исследования и наткнулся на этот источник https://community.smartsheet.com/discussion/97017/how-can-i-find-a-position-of-a-character-in-a-string, но это по-прежнему кажется более сложным, чем, как мне кажется, должно быть.

Если вы ищете текст после пробела, и если пробела нет, текст с 9-го символа, то вот как вы можете это сделать:

=IFERROR(MID(K2,FIND(" ",K2)+1,LEN(K2)),MID(K2,9,LEN(K2)))

Или немного более короткая версия:

=MID(K2,IFERROR(FIND(" ",K2)+1,9),LEN(K2))

Другой способ может быть:

=REPLACE(K2,1,IFERROR(FIND(" ",K2),8),)

Вместо того, чтобы начинать с найденного символа пробела, он удаляет символы до него. Если не найдено, то удаляет первые 8 символов.

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

=TRIM(MID(A1,1+MAX(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A1),0)),255))

Это

  • FIND находит позицию последней цифры в строке
  • добавляет один (1), чтобы получить первый нецифровой символ
  • Использует MID, чтобы вернуть нецифровую часть строки
  • TRIM, чтобы удалить любые ведущие/замыкающие пробелы

Ответ или решение

Для извлечения текста после определенного символа или слова в Excel 2019, когда недоступны более новые функции, такие как TEXTAFTER(), можно использовать комбинацию функций MID, FIND и IFERROR. Ниже приведены несколько подходов для решения вашей задачи.

Пример 1: Извлечение текста после первого пробела

Если вам нужно извлечь текст после первого пробела в строке, например, 12345678 CustomerName, вы можете использовать следующую формулу:

=MID(K2, FIND(" ", K2) + 1, LEN(K2) - FIND(" ", K2))

Пример 2: Извлечение текста по умолчанию после 8 символов, если пробел не найден

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

=IFERROR(MID(K2, FIND(" ", K2) + 1, LEN(K2)), MID(K2, 9, LEN(K2) - 8))

Или более компактная версия:

=MID(K2, IFERROR(FIND(" ", K2) + 1, 9), LEN(K2) - 8)

Пример 3: Удаление символов до пробела

Если вы хотите удалить все символы до пробела (или до 8 символов, если пробел не найден), можно воспользоваться следующей формулой:

=REPLACE(K2, 1, IFERROR(FIND(" ", K2), 8), "")

Пример 4: Извлечение текста после последней цифры

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

=TRIM(MID(K2, 1 + MAX(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9}, K2), 0)), 255))

Эта формула находит индекс последней цифры, добавляет 1, чтобы получить позицию следующего символа, а затем использует MID для извлечения оставшейся части строки. Функция TRIM удаляет любые лишние пробелы.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...