索引匹配 + 多个条件 + 返回列表/范围

时间:2021-03-10 04:07:12

标签: arrays indexing excel-formula match

我正在尝试在表格中查找内容并使用公式返回它们,具有以下要求:

  1. 有两个条件(列)包含在查找中
  2. 需要返回所有匹配项的列表而不是单个项

我找到了自己做这些事情的方法(对#1 使用更复杂的索引匹配,对#2 使用“:”运算符来指定范围并以数组的形式返回列表),但是每当我尝试将它们组合在一起时,它都不起作用。

我在下面分享了一个示例,其中“表 1”是源数据,“我们的选择”是查找的参考。有人可以让我知道一个公式,该公式可以进入上述单元格,该公式将从“交互”列(表 1)中返回关联条目的绿色“返回列表”?

我正在运行装有 Excel 版本 16.46 的 Mac 提前致谢!

image

2 个答案:

答案 0 :(得分:0)

下一页解释了类似的情况,只是它不返回数组。它与索引一起工作。因此,您必须将公式放在足够多的行中以显示所有匹配项: https://www.xelplus.com/return-multiple-match-values-in-excel/

在你的情况下,公式是这样的:

=IF(ROWS($A$2:A2)<=COUNTIFS($A$2:$A$18,$G$2,$B$2:$B$18,$G$3),INDEX($C$2:$C$18;AGGREGATE(15,3,(($A$2:$A$18&$B$2:$B$18=$G$2&$G$3)/($A$2:$A$18&$B$2:$B$18=$G$2&$G$3)*ROW($A$2:$A$18))-ROW($A$1),ROWS($E$2:E2))),"")

enter image description here

答案 1 :(得分:0)

不清楚您的数据从哪一列/哪行开始/结束,但我假设您的表从 A2 开始,您的项目选择在 E2 中,您的过滤器从 E6 开始

>

在这种情况下,在 E6 中使用以下数组公式并向下拖动: =IFERROR(INDEX(C:C,MATCH(1,(A:A=E$2)*(B:B=E$3)*(COUNTIF(E$5:E5,C:C)=0),0)),"") 数组公式用 ctrl+shift+enter

输入

如果您有 Office 365,这个公式就可以解决问题: =FILTER(C:C,(A:A=E$2)*(B:B=E$3)*(C:C<>"")) 这将根据出现次数自动调整。

相关问题