Excel使用索引匹配来返回列表中的多个值

时间:2014-10-29 11:08:14

标签: excel excel-formula

我的工作表:

ELKK   BSN   Voornaam   Achternaam   DOB  Basisschool   Advies   Voorrangschool   Voorkeur
  1     1       John       Smit       1        Test      VWO          Test           Test
  2     2       Chris      Kong       2        Test 2    HAVO         Test           Test

此工作表名为Leerlingen

第二个:

School   Advies   Klasnaam   Regulier
 Test     VWO       VWO         1
 Test 2   HAVO      HAVO        1
 Test 3   VWO       SPORT       0

此工作表称为VO-scholen

当我在Leerlingen工作表中更改“Advies”值时,我想要发生的事情。我想从VO-scholen工作表中获得所有也有“Advies”的学校,并将他们在Leerlingen工作表中返回到“Voorrangschool”栏目下的列表中。

这意味着通过“John Smit”我可以选择学校测试和测试3,并且使用“Chris Kong”我可以选择学校测试2。

这是我已经尝试过的:

=INDEX('VO-scholen'!A2:G4;MATCH(G2; 'VO-scholen'!$C$2:$C$4; 0);2 )

但它不会返回多个值,只会返回它可以找到的第一个值。

2 个答案:

答案 0 :(得分:0)

我的回答需要MOREFUNC addon *

这里我假设购买数据"表"在A9:C11。相应调整。

莱尔林根的公式!H2: =MCONCAT(IF('VO-scholen'!$C$2:$C$4=G2,'VO-scholen'!$B$2:$B$4,""),",")

注意花括号。这是一个数组公式,您必须使用Ctrl+Shift+Enter进行确认,而不仅仅是Enter(以便显示花括号)

然后将公式复制下来


MOREFUNC ADDON

答案 1 :(得分:0)

您想稍微修改一下,但请尝试:


=INDEX('VO-scholen'!$A$1:$G$4,MATCH($G2, 'VO-scholen'!$B$1:$B$4, 0),1 ) & IF(COUNTIF('VO-scholen'!$B:$B,Leerlingen!$G2)>1, ", " & INDEX(OFFSET('VO-scholen'!$A$1:$D$4,MATCH($G2,'VO-scholen'!$B$1:$B$4),0),MATCH($G2,'VO-scholen'!$B$1:$B$4),1),"")


第一个索引匹配抓取表中的第一个值。第二个索引匹配从第一个表中获取偏移量中的第一个值。偏移量从第一个查找值向下开始第二个查找表的行数。换句话说,如果您在B1:B100中搜索并且在第3行中找到了值,则第二次查找将在B4中:B104。