2014-10-28 3 views
1

На вкладке 1 у меня есть столбец, где каждая ячейка в этом столбце имеет группу чисел и другой столбец, где эта группа чисел связана с именем. Пример:
Найти значение в диапазоне ячеек в качестве подстроки

 

A1: 131,210,312,419,5010 B1: Jim 
A2: 210,311,517,614,701 B2: Tom 
A3: 51,120,210   B3: Sam 
A4: 311,701,1012   B4: Tim 

На вкладке 2, у меня есть столбец чисел. Пример:

 
A1: 131 
A2: 210 
A3: 120 
A4: 42 

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

 
A1: 131 B1: Jim 
A2: 210 B2: Jim 
A3: 120 B3: Sam 
A4: 42 B4: N/A 

Я думаю находка или ВПР может быть вовлечена, но я не мог понять, как сделать это прийти вместе.

ответ

2

Чтобы достичь истинного соответствия, вы должны обеспечить соблюдение условия, при котором каждое значение будет начинаться и заканчиваться запятой. Эта конкатенация строк вместе с подстановочными знаками потребует формулы формулы.

INDEX(MATCH()) with wildcards

Формула массива в E1 является =INDEX('Tab 1'!$B$1:$B$4,MATCH("*,"&D1&",*",","&'Tab 1'!$A$1:$A$4&",",0)). Для этого требуется Ctrl + Shift + Enter, а не просто Введите. После правильного ввода его можно заполнить по мере необходимости. Вы можете применить обертку IFERROR, чтобы показать пустую строку вместо os #N/A.

+1

@pnuts - Хороший вопрос. Эта конкатенация строк может быстро добавить имя рабочего листа в довольно уродливое. Я отредактировал свою формулу и графику в своем ответе. – Jeeped

+0

Спасибо! Это дало мне то, что я искал. :-) –

1

Поступил как формулу массива (Ctrl-Shift-Enter) и скопировал вниз, это работает:

=INDEX($B$1:$B$4,MATCH(TRUE,ISNUMBER(SEARCH(","&D8&",",","&$A$1:$A$4&",")),0)) 

enter image description here

Смежные вопросы