2017-08-02 59 views
0

我在Excel 2013中工作。我有一个名为data的表。在excel中查找多个条件中的多个值

color letter number 
red  a  1 
red  b  2 
blue a  1 
blue a  1 
blue b  1 
blue a  2 
blue a  2 

我想在[color] = blue和[letter] = a的所有行中查找[number],所以我在上面突出显示的行。

=IFERROR(INDEX(data[number],AGGREGATE(15,6,ROW(data[#All])/((data[color]="blue")*(data[letter]="a")), ROW(1:1))), "") 

此代码给了我所有[数字]这是“蓝色”和“一”,目前返回

number 
1 
1 
2 
2 

我如何得到它,而不是返回此:

table 
1 
2 

回答

2

作为阵列配方,

=IFERROR(INDEX(Data[number], MATCH(0, IF(Data[color]="blue", IF(Data[letter]="a", COUNTIF(G$2:G2, Data[number]), 1), 1), 0)), "") 

enter image description here

+0

你能帮我走过这个逻辑吗?所以MATCH()试图找到符合条件的行的行号。 Match正试图在数组|||中找到小于0的任何东西IF(data [custOrderId2] = $ D $ 1,COUNTIF(data [subKit2],$ F $ 1:F1),1)|||我无法弄清楚这个数组代表什么 –

+0

没关系,我想通了:)这个答案很完美,非常感谢你! –