Если каждая строка в ячейке разделена символом LineFeed
, как это обычно бывает, то:
=MID(A2,SEARCH("Major",A2),FIND(CHAR(10),A2,SEARCH("Major",A2))-SEARCH("Major",A2))
Чтобы подробно рассказать о том, как это работает, я не буду объяснять, как работают различные функции - MID, FIND, SEARCH и LEN, поскольку они описаны в справке Excel. Если вы не понимаете их, объяснение может не иметь смысла.
MID(A2, startPoint_of "Major", length_of_the_whole_phrase)
SEARCH: Find the place where "Major" starts. (case insensitive)
FIND: Finding CHAR(10) which is the line feed character.
Using the SEARCH "Major" term to define the starting point of the SEARCH,
so that it will be the linefeed that next follows "Major"
The difference between the startpoint of "Major" and the subsequent
linefeed will be the length of the phrase
Если вы хотите найти какой-либо из компонентов, вы должны учитывать тот факт, что после последней строки может не стоять перевод строки. Таким образом, для части формулы, которая ищет следующий перевод строки, мы окружаем ее функцией IFERROR
чтобы заменить это число длиной всего содержимого A2, если оно не находит перевод строки; и мы также заменяем "Major" ссылкой на ячейку, чтобы мы могли изменить то, что ищем.
Версия формулы ниже использует абсолютную ссылку для ссылки на A2
, но вы можете изменить ее на смешанную форму, если вы собираетесь перетаскивать формулу.
В приведенной ниже формуле поисковая фраза будет введена в формате A4 и может быть любой из позиций.
=MID($A$2,SEARCH(A4,$A$2),IFERROR(FIND(CHAR(10),$A$2,SEARCH(A4,$A$2)),LEN($A$2))-SEARCH(A4,$A$2))