Я предполагаю, что ваш дисплей, отображающий вывод для A6 в E5 (потому что вывод для A5 - «none») является ошибкой, и вы действительно хотите вывод для A6 в E6 .
Я нахожу это неестественным, имея ключевые слова в столбце.
Выход для Ai находится в Ei , а значение в Ci самом деле не имеет ничего общего с другими вещами в строке i.
Это скорее ситуация m × n , где у вас есть m ячеек (абзацев) текста для поиска и n ключевых слов для поиска.
Ну, у нас есть способы справиться с этим.
Мое решение использует n +1 вспомогательных столбцов.
Поскольку n здесь равно 5, это означает 6 вспомогательных столбцов, которые могут быть столбцами с F по K (Как обычно с помощью вспомогательных столбцов, вы можете поместить их в любое место - вы можете поместить их в столбцы AA через AF если хотите - и можете скрыть их.)
Первый (F) оставлен пустым.
Войти
=OFFSET($C$1, COLUMN()-COLUMN($F:$F), 0)
в ячейку G1 и перетащите / заполните вправо, к K1 .
При этом используется текущий номер столбца (относительно начала блока вспомогательных столбцов) в качестве индекса ключевых слов в столбце C , тем самым реплицируя ключевые слова в строке 1 (ячейки с G1 по K1).
Далее введите
=F2 & IF(ISNUMBER(SEARCH(G$1, $A2)), ", " & G$1, "")
в клетку G2 .
Перетащите / заполните вправо, в ячейку K2 , а затем вниз, чтобы покрыть m строк, имеющих данные в столбце A При этом выполняется поиск абзаца в столбце A текущей строки по ключевому слову i , которое находится в строке 1 текущего столбца.
Если он находит его (т. Е. Если SEARCH(…) возвращает число; т. Е. Если ISNUMBER(SEARCH(…)) имеет значение true), он генерирует ключевое слово, которому предшествует запятая и пробел.
Если ключевое слово не найдено, функция IF(…) оценивается как пустая строка.
(Если вы хотите сравнение с учетом регистра, замените SEARCH на FIND .)
Затем, в любом случае, результат объединяется со значением из ячейки слева. Это дает в столбце K список разделенных запятыми ключевых слов, присутствующих в абзаце в столбце A текущей строки.
Затем введите
=IF(K2="", "", RIGHT(K2, LEN(K2)-2))
в E2 , и перетащите / заполните вниз, чтобы покрыть строки, которые имеют данные в столбце A Это говорит о том , если значение в колонке K равна нулю, то оценить пустое значение, в противном случае , от начала значения в колонке K
Вот изображение результата, который я получил для ваших входных данных:

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