Если кто-то из вас следил за ходом моих вопросов, то это не удивительно. Как бы то ни было, я должен спросить это. Я действительно пытался найти ответ на этот вопрос в Интернете и подобрался к нескольким различным версиям формул, но в моей формуле всегда было что-то не так. Вместо того, чтобы мутить воду этими неудачными попытками, позвольте мне с изображением объяснить, что именно я хочу сделать. На изображении вы видите ниже:

Я хочу взять слово, которое идет после "el" или "la", и вернуть его в соседнем столбце. Записи, которые вы видите выше, были сделаны вручную. Как вы можете видеть по ячейкам, которые я заштриховал фиолетовым, некоторые не включают "el" или "la", но мне не обязательно иметь формулу, которая также исправляет это, поскольку их так мало.

Я использую Excel 2007. И, как всегда, заранее спасибо за ваши знания, опыт и рекомендации по этому вопросу. Я всегда открыт для предложений о том, как улучшить свои навыки с помощью формул и функций, поэтому, если у вас есть какие-либо рекомендации на этот счет, я не буду обижаться, если вы включите их в свой ответ.

1 ответ1

1

Чтобы получить последнее слово:

=TRIM(RIGHT(SUBSTITUTE(A1, " ", REPT(" ", 100)), 100))

Чтобы получить первое слово:

=TRIM(LEFT(SUBSTITUTE(A1, " ", REPT(" ", 100)), 100))

Эти формулы заменяют каждый пробел 100 пробелами, а затем возвращают последние (или первые) 100 символов. Функция TRIM удаляет ненужные пробелы.


Краевые случаи, когда это не будет работать

  • Входная строка содержит более ~ 300 пробелов. Точное число зависит от длины остальной входной строки. Ограничивающим фактором является допустимый максимум 32767 символов в ячейке Excel.

  • Последнее отдельное слово длиннее 100 символов, так как функция RIGHT возвращает только последние 100 символов и поэтому обрезает более длинные слова. То же относится и ко второй формуле

Источник: Stackoverflow

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .