Excel索引返回与多个条件匹配的多个值

Excel索引返回与多个条件匹配的多个值,excel,vba,multidimensional-array,indexing,match,Excel,Vba,Multidimensional Array,Indexing,Match,索引和匹配不会返回多个值,需要找到一种方法,无论是函数还是VBA 本质上,我有一个索引和匹配函数,它查看两个变量,然后返回对应的公司,该公司与不同的工作表匹配 i、 e您从下拉列表中选择“澳大利亚”,然后从另一个下拉列表中选择“黄金”,然后索引和匹配将从另一张在澳大利亚经营并开采黄金的表中拖出一家公司。 到目前为止,该函数可以工作,但它只返回第一个结果,可能有多个公司,我还没有弄清楚如何返回多个结果 目前的守则如下: =INDEX(Datapage!B$2:B$280,MATCH(1,(A$8=

索引和匹配不会返回多个值,需要找到一种方法,无论是函数还是VBA

本质上,我有一个索引和匹配函数,它查看两个变量,然后返回对应的公司,该公司与不同的工作表匹配

i、 e您从下拉列表中选择“澳大利亚”,然后从另一个下拉列表中选择“黄金”,然后索引和匹配将从另一张在澳大利亚经营并开采黄金的表中拖出一家公司。 到目前为止,该函数可以工作,但它只返回第一个结果,可能有多个公司,我还没有弄清楚如何返回多个结果

目前的守则如下:

=INDEX(Datapage!B$2:B$280,MATCH(1,(A$8=Datapage!$C$2:$C$280) * (B$8=Sheet11!$D$2:$D$280),0))
我也试过这个:

=IFERROR(索引(表26[[位置]:[商品]),小(如果(表26[位置]=$B8,行(表26[商品])-行($D$2)+1),列($B14:B14)),“”) 数据表中有B2-D280中的值

但是什么也没有发生,它只搜索一个变量,这对于这个需求是无用的

B是公司名称

C.地点

D.作为商品

我附上了一些图片以供澄清

这就是床单的样子

任何帮助都将不胜感激!
感谢所有感兴趣的人,我想出了一个不需要任何VBA的函数

=IFERROR(INDEX(Data!$B$2:$B$280, SMALL(IF($A$8&" "&$B$8=Data!$A$2:$A$280, ROW(Data!$B$2:$B$280)-1,""), ROW()-14)),"")
B列中的第一个数据是我希望在找到匹配项时返回的数据

“Small(IF(A…)”函数将两个变量组合在一起,我希望找到匹配项。例如,A=澳大利亚&B=黄金等,它将在下一页中查找匹配项

“行(数据…”将单元格A8和B8中的值与范围内的每个值进行比较。如果找到匹配项,“行(数据!$B$2:$B$280)-1”返回相应行的编号(-1用于扣除标题行)。如果比较的值不匹配,则If函数返回空字符串


“ROW()-14)),“”函数充当递增计数器。由于公式被复制到单元格A15中,因此我们为函数添加-14,以便为单元格A15(行15减14)返回1,为单元格A16(行16减15)返回15等

欢迎来到SO!您的问题很不清楚,请阅读,也请阅读-然后您的帖子,在不启动TeamViewer会话的情况下提出一个可以回答的问题。干杯!我已经尽力解释了,还有什么我遗漏的吗?编辑得不错,我想我理解这个问题,但我仍然不理解您的意图o do-一个单元格只能有一个值,您如何期望公式“返回多个值”?此外,由于您使用的是表,因此公式应按名称使用引用表列,而不是按范围地址。这样,当表增长时,您就不必记得修改公式了!更正每个单元格只有一个值,但表中有多个值,我需要公式吐出与准则匹配的每个值ia,不只是列表中的第一个。我可以将公式放在结果页的每个单元格中,但当它运行时,它仍然只会吐出第一个结果,即使上面的单元格可能有相同的结果。我需要一个公式版本,它返回所有匹配项,而不仅仅是第一个。