mar*_*own 5 indexing excel match
我在1张表上有以下用户列表,以及他们的年龄和体育兴趣:
A 18 Football
B 19 Rugby
C 18 Football
D 50 Dance
D 21 Rugby
A 25 Football
Run Code Online (Sandbox Code Playgroud)
然后我在表2上有一个索引匹配数组公式,它正在查找我的用户列表并在表1中输出它们.
式:
=IFERROR(INDEX('Activity Data'!$A$2:$A$5000, MATCH(0, COUNTIF($B$36:B36,'Activity Data'!$A$2:$A$5000), 0)),"")
Run Code Online (Sandbox Code Playgroud)
这给了我一个独特的用户列表,如下所示:
A
B
C
D
Run Code Online (Sandbox Code Playgroud)
但是,我只想查看那些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)),"")
Run Code Online (Sandbox Code Playgroud)
(我只在 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)),"")
Run Code Online (Sandbox Code Playgroud)
但您可能更喜欢反转逻辑并以更正常的方式解决它,如下所示:-
=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)),"")
Run Code Online (Sandbox Code Playgroud)
这些是数组公式,必须使用以下命令输入CtrlShiftEnter
| 归档时间: |
|
| 查看次数: |
4999 次 |
| 最近记录: |