Здравствуйте, сообщество Stack Overflow, пожалуйста, помогите мне с проблемой, указанной ниже.
как искать ключевое слово в нескольких предложениях, т. е. массив, а затем возвращать число, которое находится рядом с исходным ключевым словом список поисковых слов.
у нас есть 3 массива
Список слов, которые нужно найти Список предложений, чтобы найти исходное слово и список чисел, связанных с исходным искомым словом.
Число должно быть возвращено в ту же строку, что и исходное предложение, которое соответствует исходному искомое слово.
С уважением Трой
Различные попытки получить какой-то результат.
=ИНДЕКС(A2:A12,ПОИСКПОЗ(D2:A12,D2:D12,))
=ИНДЕКС(список,СУММПРОИЗВ(ЧИСЛО(ПОИСК(список,A2))*СТРОКА($1:$3)))
=ЕСЛИ($D2="","",(ИНДЕКС({B2:B12,""},СООТВЕТСТВИЕ(ИСТИНА,ЧИСЛО(ПОИСК({D2:D12"," ",""},D2)),0 ))))
=ИНДЕКС(B2:B12,ПОИСКПОЗ(1,(A2:A12=D2)*(D2:D12=D2),0))
=ВПР(B2,A2:A12,2,0)
=ИНДЕКС(B2:B12,ПОИСКПОЗ(D2,A2:A12,))
Используйте XLOOKUP с поиском по подстановочным знакам
да, я пробовал vlookup, но я не смог заставить vlookup прочитать предложение... пожалуйста, посмотрите на картинку в теле вопроса
Привет @Harun24hr на картинке, при условии, что я показал раздел вывода красным цветом, как он должен выглядеть, я сделал это вручную, я показал правильные результаты на изображении в столбце, указанном под номером 4. но не могу получить ни одного формула, чтобы сделать это для меня.
как сказал сэр @chrisneilsen, XLOOKUP()
должен работать на вас. Итак, формула будет =XLOOKUP(1,SEARCH(D$2:D$12,A2),F$2:F$12,"")
попробуйте, если у вас есть доступ к XLOOKUP()
функции
Или используйте INDEX()
и MATCH()
с ISNUMBER()
и SEARCH()
вот так =INDEX($F$2:$F$11,MATCH(TRUE,ISNUMBER(SEARCH($D$2:$D$11,A2)),0))
привет @Mayukh Bhattacharya, формула не выполняет поиск в массиве A2: A12, где находится предложение.
Возможно, вы могли бы попробовать таким образом,
• Формула, используемая в ячейке F2
=INDEX($B$2:$B$11,MATCH(TRUE,ISNUMBER(SEARCH($D2,$A$2:$A$11)),0))
Если у вас есть доступ к MS365, используйте XLOOKUP()
• Формула, используемая в ячейке F2
=XLOOKUP(TRUE,ISNUMBER(SEARCH(D2,$A$2:$A$11)),$B$2:$B$11,"")
Вы также можете использовать функцию LOOKUP()
• Формула, используемая в ячейке F2
=LOOKUP(9^9,SEARCH(D2,$A$2:$A$11),$B$2:$B$11)
Гораздо лучше использовать функцию WildCard с функцией XLOOKUP().
• Формула, используемая в ячейке F2
=XLOOKUP("*"&D2&"*",$A$2:$A$11,$B$2:$B$11,"",2)
С VLOOKUP()
и подстановочным знаком,
• Формула, используемая в ячейке F2
=VLOOKUP("*"&D2&"*",$A$2:$B$11,2,0)
спасибо за это, но формула должна быть от F2 до F12. так как там результаты
@Troy понял, обновляю сейчас, нужно наоборот
ууууу, вы поняли :) @Mayukh Bhattacharya оба варианта теперь работают =INDEX($B$3:$B$12,MATCH(TRUE,ISNUMBER(SEARCH($D3,$A$3:$A$12)),0)) =XLOOKUP(ИСТИНА,ISNUMBER(ПОИСК(D3,$A$3:$A$12)),$B$3:$B$12,"")
@Troy Я обновил несколько, обнаружил, что мы пропустили использование подстановочных знаков, с этим тоже должно работать.
Какой из них является вашим желаемым результатом?