2016-03-31 48 views
4

我所拥有的用户下面的列表上的1张,自己的年龄和运动的兴趣一起:索引是否与多个标准匹配唯一值?

A  18  Football 
B  19  Rugby 
C  18  Football 
D  50  Dance 
D  21  Rugby 
A  25  Football 

然后我有表2的指数匹配数组公式,正在我的用户列表并将结果输出在表1

公式:

=IFERROR(INDEX('Activity Data'!$A$2:$A$5000, MATCH(0, COUNTIF($B$36:B36,'Activity Data'!$A$2:$A$5000), 0)),"") 

这给我的用户,像这样一个独特的名单:

A 
B 
C 
D 

但是,我只想查找那些18岁和对足球感兴趣的用户。

如何添加多个匹配条件到此公式以获得所需的结果?

在此先感谢

+1

考虑过滤器? –

回答

1

如果你想用一个公式来持之以恒,你可以强制“1”时,按如下的条件不满足: -

=IFERROR(INDEX('Activity Data'!$A$2:$A$10, MATCH(0, SIGN(COUNTIF($C$36:C36,'Activity Data'!$A$2:$A$10)+('Activity Data'!$C$2:$C$10<>"Football")+('Activity Data'!$B$2:$B$10<>18)), 0)),"") 

(我只测试它在10行,但应该对任何范围内工作)

真正实现SIGN是没有必要的,因为任何不等于零不相匹配,使得: -

=IFERROR(INDEX('Activity Data'!$A$2:$A$10, MATCH(0, COUNTIF($C$36:C36,'Activity Data'!$A$2:$A$10)+('Activity Data'!$C$2:$C$10<>"Football")+('Activity Data'!$B$2:$B$10<>18), 0)),"") 

enter image description here

但是,你可能更喜欢颠倒逻辑,并解决它在这样的更正常的方式: -

=IFERROR(INDEX('Activity Data'!$A$2:$A$10, MATCH(1, (COUNTIF($C$36:C36,'Activity Data'!$A$2:$A$10)=0)*('Activity Data'!$C$2:$C$10="Football")*('Activity Data'!$B$2:$B$10=18), 0)),"") 

这些都是数组公式,必须输入使用按Ctrl输入