2017-02-15 266 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的匹配:VLOOKUP匹配返回多個值

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

的問題是,ColumnC能包含以上示例中所示的ColumnA的多個值。

上述函數僅返回ColumnB的值,僅用於找到ColumnA和ColumnC的第一個匹配項。任何想法如何我可以返回多個返回值的所有值,如上例所示,ColumnC包含具有CustNO 1的多行。

回答

2

您需要使用索引和小函數來提取1st,2nd ,3rd ...匹配值。

=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列中取出唯一值,並將它們轉置到新工作表的頂部,然後將查找公式每個價值,所以你有一個每個客戶號碼的電子郵件地址列表。