2017-02-15 24 views
1
ColumnA (All customers)  ColumnB (E-mail)  ColumnC (Specific customers) 

CustNO      MailAddress   CustNO 
1       [email protected]  2 
2       [email protected]  1 
          [email protected]  1 

Я использую следующую функцию, чтобы вернуть значение ColumnB, когда значение Columna соответствует в ряду ColumnC:ВПР MATCH с возвращением несколько значений

=VLOOKUP(C2;A2:A520;MATCH(B1;A1:C1)) 

Проблема в том, что ColumnC может содержат несколько значений ColumnA, как показано в приведенном выше примере.

Функция, как указано выше, возвращает значение столбца B только для первого совпадения столбцов ColumnA и ColumnC. Любая идея о том, как я могу вернуть все значения для значений множественного возврата, как показано в приведенном выше примере, ColumnC содержит несколько строк с CustNO 1.

ответ

2

вам нужно использовать индекс и небольшие функции для извлечения 1-го, 2-го , 3-е ... совпадающие значения.

=IFERROR(INDEX($A$2:$C$250,SMALL(IF(($A2:$A$250=$C$2),ROW($A$2:$A$250)-1),ROW(1:1)),2),"") 

ВАЖНО: используйте CTRL +SHIFT + ENTER при вводе эту формулу, чтобы сделать его формула массива.

Обратите внимание, что эта формула использует ROW (1: 1) для извлечения первого совпадения, это изменится на 2: 2, 3: 3 и т. Д., Чтобы автоматически заполнить.

Я не знаю из вашего вопроса, где вы хотите отобразить результаты, но я бы предположил, что вы берете уникальные значения из столбца C и переносите их поверх верхней части нового листа, а затем помещаете формулу поиска ниже каждое значение, поэтому у вас есть список адресов электронной почты для каждого номера клиента.