VLOOKUP MATCH返回多个值
ColumnA (All customers) ColumnB (E-mail) ColumnC (Specific customers) CustNO MailAddress CustNO 1 test@test.com 2 2 test2@test2.com 1 test3@test3.com 1
我正在使用以下函数来返回ColumnB的值,当ColumnA的值在ColumnC行中匹配时:
=VLOOKUP(C2;A2:A520;MATCH(B1;A1:C1))
问题是,ColumnC可以包含ColumnA的多个值,如上例所示。
上面的函数只返回ColumnB的值,只有ColumnA和ColumnC的第一个匹配。 任何想法如何我可以返回多个返回值的所有值,如上例所示,ColumnC包含具有CustNO 1的多个行。
您需要使用索引和小函数来提取第一,第二,第三…匹配值。
=IFERROR(INDEX($A$2:$C$250,SMALL(IF(($A2:$A$250=$C$2),ROW($A$2:$A$250)-1),ROW(1:1)),2),"")
重要提示:在input此公式时,使用CTRL + SHIFT + ENTER使其成为数组公式。
注意这个公式使用ROW(1:1)来提取第一个匹配,这将变为2:2,3:3等自动填充。
我不知道你想在哪里显示结果,但是我build议你从列C中取出唯一的值,并将它们转置到一个新表的顶部,然后把查找公式放在每个值的下面,这样你有每个客户号码的电子邮件地址列表。