2014-10-29 112 views
0

我的工作表:Excel中使用指数匹配列表中返回多个值

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”值时HEET。我想从VO-scholen Worksheet中获得所有那些也有该“Advies”的学校,并将他们放入Leerlingen工作表中,并放入“Voorrangschool”栏下的列表中。

这意味着,与“约翰·斯密特”我可以选择的学校测试和测试3,并以“克里斯岗”我可以选择的学校测试2

以下是我已经尝试过:

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

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

+0

不幸的是,您不能在不使用VBA的情况下在Excel中连接范围或数组。一个这样的解决方案是在http://stackoverflow.com/questions/13975471/array-formula-result-concatenated-into-single-cell/13994045#13994045。我自己会使用IF方法代替INDEX和MATCH。 – 2014-10-29 14:01:00

+0

@RickHitchcock感谢您的回复,我会研究VBA解决方案,看看我能否实现它。谢谢 – 2014-10-29 14:10:13

回答

0

我的回答需要MOREFUNC插件*

在这里,我承担购买 “表” 的数据是在A9:C11。相应地调整。

公式Leerlingen H2: =MCONCAT(IF('VO-scholen'!$C$2:$C$4=G2,'VO-scholen'!$B$2:$B$4,""),",")

通知的花括号。这是你必须使用Ctrl+Shift+Enter,不只是Enter(这样大括号出现)

然后复制公式向下


MOREFUNC ADDON

+0

我无法获得OSEF的MOREFUNC插件:( – 2014-10-29 16:08:29

+0

你应该可以手动添加一个用户定义的函数MCONCAT,这取决于你安装的Office的版本。我知道你需要一个Office 2011或更新的版本,带有VBA选项 – user3616725 2014-10-30 09:31:19

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中查找。

+0

您的示例似乎没有返回您所描述的内容,所以我猜想您正在查找来自“VO-scholen”表中Advies列的“Leerlingen”的Advies列中的值,并将值返回“学校”专栏。哦,你想在上面的公式中用分号代替我的逗号。 – gwhenning 2014-10-29 18:48:44

相关问题