2016-03-31 46 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輸入