索引是否与多个标准匹配唯一值?
我在下面列出了一张用户列表,以及他们的年龄和体育兴趣:
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',如下:
=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)),"")
(我只testing10行,但应该适用于任何范围)
实际上实现了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)),"")
但是您可能更喜欢颠倒逻辑,并以更正常的方式解决它:
=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 Shift Enterinput