AGRAEGAT与critiera和重复数组

我有以下Excel电子表格:

ABCDE 1 ProdID Price Unique ProdID 1. Biggest 2. Biggest 2 2606639 40 2606639 50 50 3 2606639 50 4633523 45 35 4 2606639 20 3911436 25 25 5 2606639 50 6 4633523 45 7 4633523 20 8 4633523 35 9 3911436 20 10 3911436 25 11 3911436 25 12 3911436 15 

Cells D2:E4中,我想给出A列中每个ProdID的1.最大和最大的价格。 所以我用下面的公式:

 D2 =AGGREGAT(14,6,$B$2:$B$12/($A$2:$A$12=$C2),1) E2 =AGGREGAT(14,6,$B$2:$B$12/($A$2:$A$12=$C2),2) 

只要价格在列B中是唯一的,就可以在第二个ProdID(4633523)上看到该公式。

但是,一旦价格在B列中不唯一(例如对于ProdID 26026639为50,对于ProdID 3911436为25) ,则单元格D2:E4中的function不会显示正确的结果。

你有一个想法,如果你可以用AGGREGAT公式解决这个问题,而不使用ARRAY公式?

您可以检查第一个ProdID价格组合的出现次数,并在AGGREGAT函数的最后一个参数中使用。 所以,而不是

 =AGGREGAT(14,6,$B$2:$B$12/($A$2:$A$12=$C2),2) 

你将会拥有

 =AGGREGAT(14,6,$B$2:$B$12/($A$2:$A$12=$C2),2+COUNTIFS(A:A,C2,B:B,D2)-1) 

当然你可以把“1 + COUNTIFS …”,但我这样说,所以可以更好地理解,它使用位置2 + ProdID与第一次发生后数量最大的组合的出现次数。