2

Представьте, что у меня есть столбец Excel

ABC
DEF
GHI
JKL
MNO

Тогда у меня есть следующая таблица

option1 | ABC, DEF
option2 | GHI, JKL, MNO
option3 | PQR, STU .... (could be hundreds of comma separated values long in the same field)

Теперь я хочу выяснить, какой опции в массиве соответствует каждый элемент в первом столбце.

Например, я хотел бы в качестве конечного продукта иметь:

ABC | option1
DEF | option1
GHI | option2
JKL | option2
MNO | option2

Я пробовал VLOOKUP, но не получил желаемых результатов. Я также попытался отделить каждое значение, разделенное запятыми, как отдельные столбцы.

Какие-нибудь идеи о том, как лучше всего использовать эту функцию для меня?

2 ответа2

3

Со списком в столбце А и таблицы опций в столбцах D и E, в ячейке B1 введите:

=INDEX(D:D,MATCH("*" & A1 & "*",E$1:E$3,0))

и скопируйте вниз:

Это возможно, потому что MATCH() поддерживает подстановочные знаки.

Как отмечает инженер Тост :

  • Матч вернет первый найденный матч
  • Матч вернет # N/A, если совпадение не найдено
  • Совпадение не чувствительно к регистру
  • Матч поддерживает джокеры
0

Таким образом, проблемы, которые вы, вероятно, имеете

  1. Vlookup может искать только слева направо (он не может вернуть столбец слева от вашего поискового столбца
  2. Vlookup необходимо точное соответствие, поэтому вам нужно объединить символы подстановки с обеих сторон (*)

Таким образом, у вас есть два варианта: использовать данные так, как они есть (параметры в столбце A, данные в столбце B) и использовать функцию сопоставления индекса

=INDEX($A$2:$A$4,MATCH("*" & D2 & "*",$B$2:$B$4,0))

или перевернуть данные и использовать vlookup или индекс совпадения все равно будет работать

=VLOOKUP("*" & D2 & "*",$A$6:$B$8,2,FALSE)

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