Строка поиска с разделителями в формуле Excel VLookup - PullRequest
0 голосов
/ 07 сентября 2018

Таблица данных значений

                           A                                       B
Life Insurance;Banks;Non-life Insurance;Nonlife Insurance     Manufacturing
Mobile Telecommunications;Fixed Line Telecommunications        Retailing

Значения поиска

    A                                             Return
Life Insurance                                 Manufacturing
NonLife Insurance                              Manufacturing
Mobile Telecommunications                      Retailing

В настоящее время это

Значения поиска

    A                                             Return
Life Insurance                                 Manufacturing
NonLife Insurance                              Retailing
Mobile Telecommunications                      Retailing

в 'столбец return у меня есть

= ИСКЛЮЧЕНИЕ (ИНДЕКС ($ F $ 32: $ F $ 33, MATCH (H31, ВЛЕВО ($ E $ 32: $ E $ 33, ПОИСК (";", $ E $ 32: $ E)$ 33,1) -1)), 0), IFERROR (INDEX ($ F $ 32: $ F $ 33, MATCH (H31, MID ($ E $ 32: $ E $ 33, SEARCH (";", $ E $ 32: $ E)$ 33) + 1, ПОИСК (";", $ E $ 32: $ E $ 33, ПОИСК (";", $ E $ 32: $ E $ 33) +1) - ПОИСК (";", $ E $ 32: $ E $ 33) - 1)), 0), ИНДЕКС ($ F $ 32: $ F $ 33, МАТЧ (H31, ПРАВО ($ E $ 32: $ E $ 33, LEN ($ E $ 32: $ E $ 33) - ПОИСК (";",$ E $ 32: $ E $ 33, ПОИСК (";", $ E $ 32: $ E $ 33) + 1))), 0)))

, который пытается взглянуть на левый, правый и средний вариантыс использованием ";"в качестве точки разрыва, а затем сопоставления и индексации это не совсем работает.Есть ли способ сделать vlookup с несколькими значениями в одном столбце, разделенными знаком ';'?

спасибо,

Ответы [ 2 ]

0 голосов
/ 08 сентября 2018

со следующим расположением данных

Столбец A содержит таблицу данных

Столбцы D: E содержат искомые значения

Вы можете попробовать следующую формулу (без учета регистра) в ячейке B1

=LOOKUP(2^15,SEARCH(";"&$D$1:$D$3&";",";"&SUBSTITUTE(A1,"-","")&";",1),$E$1:$E$3)

Скопируйте столько, сколько вам нужно.

Примечание:

Я добавил SUBSTITUTE функцию для обработки лишних "-".

Вы можете использовать FIND вместо SEARCH, чтобы сделать его чувствительным к регистру.

0 голосов
/ 07 сентября 2018

Использование:

=INDEX(B:B,MATCH("*" & D1 & "*",A:A,0))

enter image description here


Также простой VLOOKUP:

=VLOOKUP("*" & D1 & "*",A:B,2,FALSE)
...