#excel #search #extract
#excel #Поиск #извлечь
Вопрос:
Используя MS Excel (не VBA), я хотел бы, чтобы формула, которая выполняет поиск по нескольким ячейкам A2: D2 (и ниже), находила и извлекала последнее вхождение определенного ключевого слова, найденного в списке «Ключевые слова (найти что)», расположенном в G2: G5. Если последнее вхождение ключевого слова найдено в ячейках A2: D2, затем извлеките / верните соответствующее значение содержимого в ячейке E2.
Я попытался использовать эту формулу: =IFERROR(HLOOKUP(«» amp; G $ 5amp;»«,A2: D2,1,FALSE),»»), К сожалению, она не позволяет выполнять поиск по списку и не находит последнее вхождение.
Смотрите иллюстративный пример ниже для справки:
Ответ №1:
Вы можете использовать INDEX
/ AGGREGATE
/ SEARCH
:
=IFERROR(INDEX(A2:D2,,AGGREGATE(14,6,COLUMN(A2:D2)/ISNUMBER(SEARCH(($G$2:$G$5),A2:D2)),1)),"")
Комментарии:
1. Вау… Большое вам спасибо, Basic, я полностью впечатлен и благодарен вашей формуле, которая отлично работает. Я бы спросил, аналогично, но не обязательно, в вашей формуле, можно ли это сделать наоборот, найдя первое вхождение по сравнению с последним вхождением. Спасибо.
2. @Miaka3 да, измените первый аргумент
AGGREGATE
функции на15
3. Привет, Basic, большое спасибо за ответ. Кроме того, я только что понял, что в отличие от приведенного мной примера, данные начинаются с ячейки A2: D2; мои фактические данные в моей электронной таблице — M2: Q2. Когда я ввел предоставленную формулу в R2, она не выполняет поиск по M2: Q2, она не идентифицирует и не извлекает, как в предоставленной вами формуле. Можете ли вы оказать дополнительную помощь.. Заранее спасибо.
4. Затем вы должны расширить
INDEX
диапазон (первый аргументINDEX
функции) отA2:D2
доA2:Q2
. Другие диапазоны меняются на ваши,5. Чудесно, еще раз спасибо и спасибо.. Вы действительно оказали большую помощь, чем я могу сказать… Спасибо