В моем листе Excel и в столбце A у меня есть данные, заполненные от ячейки A2 до A100

и все они содержат данные, подобные примеру ниже.

Например, в моей ячейке A2 я хотел бы извлечь только

основной.

Содержание ячейки A2:

Учреждение: название университета

Степень диплома

Специальность: обучение

Дата начала:01 февраля 2001

Дата завершения:31 июля 2016

Результаты, которые я ищу:

Специальность: обучение

2 ответа2

1

Если каждая строка в ячейке разделена символом 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))
1

Вы можете использовать следующую формулу, если данные выглядят так же, как A2:

=MID(A2,SEARCH("Major:",A2,1),SEARCH("Start",A2,1)-1-SEARCH("Major:",A2,1))

Вы можете скопировать Major: и Start: из вашего A2, чтобы иметь одинаковые пробелы
Вы можете перетащить формулу вниз

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