Vlookup в текстовом массиве

0

Я не могу понять, как использовать Excel в моей ситуации. У меня есть текст в столбце (B) со строковыми значениями с кодом внутри них, который мне нужно извлечь (например, ячейки в столбце B могут содержать «слова .. релевантная информация ... КОД .. снова слова ... и так далее). В столбце «E» мне нужно найти значения массива (D) внутри ячейки B. Если это так, то мне нужно взять столбец C с ценой.

Я буду признателен за любую помощь. Спасибо!

enter image description here

Редактировать: Пользователь "Ясс" ответил на мой вопрос, его формула работает лучше, но у меня есть проблема, чтобы сопоставить точный "КОД". Например, Я сделал новую таблицу, как вы можете видеть, эта формула не определяет, что КОД "ABC1" и "ABC123WRONG" имеют разные имена, поэтому цена для него неправильная (.

Я прикрепил скриншот ниже. Пожалуйста, помогите мне!

enter image description here

Andre
источник

Ответы:

0

В E5 напишите следующую формулу:

=IFERROR(INDEX($C$5:$C$7,MATCH("*"&D5&"*",$B$5:$B$7,0)),"")

и перетащите его вниз
$ C $ 5: $ C $ 7 столбец цены
$ B $ 5: $ B $ 7, где у вас есть текст с кодом
D5 код, который вы хотите найти в столбце B и вернуть соответствующую цену

Обновить
Чтобы соответствовать новому скриншоту с похожими значениями, вы можете использовать:

=IFERROR(INDEX($C$5:$C$9,IF(ISNUMBER(MATCH("*"&D5&",*",$B$5:$B$9,0)),MATCH("*"&D5&",*",$B$5:$B$9,0),IF(ISNUMBER(MATCH("*"&D5,$B$5:$B$9,0)),MATCH("*"&D5,$B$5:$B$9,0),IF(ISNUMBER(MATCH(D5&"*",$B$5:$B$9,0)),MATCH(D5&"*",$B$5:$B$9,0),"")))),"Not Found")
yass
источник
Большое спасибо! Я добавил дополнительное описание моей проблемы в посте.
Andre
Если «,» всегда после кода, вы можете добавить его в формулу
yass
Привет, ясс! Не могли бы вы помочь еще раз, пожалуйста? Можно ли изменить формулу следующим образом: он ищет «Символ пробела» или «Запятая» перед D5 и «Символ пробела» или «Запятая» после D5. Я пишу это так, но кажется, что синтаксис неправильный. =IFERROR(INDEX($C$5:$C$7,MATCH(Or(" ",",") &D5&Or(" ",","),$B$5:$B$7,0)),"")
Andre
Попробуйте это = IFERROR (INDEX ($ C $ 5: $ C $ 9, IF (ISNUMBER (MATCH (" "& Амп; Д5 & амп;", "$ B $ 5: $ В $ 9,0)), ПОИСКПОЗ (" "& Амп; Д5 & амп;", "$ B $ 5: $ В $ 9,0), ЕСЛИ (ЕЧИСЛО (ПОИСКПОЗ (" "& Амп; Д5, $ B $ 5: $ В $ 9,0)), ПОИСКПОЗ (" "& Амп; Д5, $ B $ 5: $ В $ 9,0), ЕСЛИ (ISNUMBER (MATCH (D5 & амп;" "$ B $ 5: $ В $ 9,0)), ПОИСКПОЗ (Д5 & амп;" ", $ B $ 5: $ B $ 9,0)," "))))," Не найдено ")
yass
Именно то, что мне нужно, спасибо!
Andre