【问题标题】:Excel use index match to return multiple values in a listExcel 使用索引匹配返回列表中的多个值
【发布时间】:2014-10-29 11:08:14
【问题描述】:

我的工作表:

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 工作表中获取所有也有“建议”的学校,并将它们在 Leerlingen 工作表中返回到“Voorrangschool”列下的列表中。

这意味着使用“John Smit”我可以选择学校 Test 和 Test 3,使用“Chris Kong”我可以选择学校 Test 2。

这是我已经尝试过的:

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

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

【问题讨论】:

  • 不幸的是,如果不使用 VBA,您将无法在 Excel 中连接范围或数组。一种这样的解决方案是stackoverflow.com/questions/13975471/…。我自己会为此使用 IF 方法而不是 INDEX 和 MATCH。
  • @RickHitchcock 感谢您的回复,我将研究 VBA 解决方案,看看是否可以让它工作。谢谢

标签: excel excel-formula


【解决方案1】:

我的答案需要 MOREFUNC 插件*

这里我假设购买“表”中的数据在 A9:C11 中。相应调整。

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

注意花括号。这是一个数组公式,您必须使用Ctrl+Shift+Enter 来确认,而不仅仅是Enter(这样才会出现花括号)

然后把公式复制下来


更多功能插件

【讨论】:

  • 我无法获得 OSX 的 MOREFUNC 插件 :(
  • 您应该可以手动添加用户定义的函数 MCONCAT,具体取决于您安装的 Office 版本。我了解您需要安装了 VBA 选项的 Office 2011 或更新版本。
【解决方案2】:

您可能需要稍微修改一下,但请尝试:


=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 中。

【讨论】:

  • 您的示例似乎没有返回您所描述的内容,所以我猜您正在从工作表“VO-scholen”的“建议”列中查找“Leerlingen”的“建议”列中的值并返回“学校”列中的值。哦,你会想在上面的公式中用分号替换我的逗号。
猜你喜欢
  • 2017-04-21
  • 2019-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-09
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
相关资源
最近更新 更多