在索引(匹配)数组中查找最小值

这是我简单的表格

ABC tasmania hobart 21 queensland brisbane 22 new south wales sydney 23 northern territory darwin 24 south australia adelaide 25 western australia perth 26 tasmania hobart 17 queensland brisbane 18 new south wales sydney 19 northern territory darwin 11 south australia adelaide 12 western australia perth 13 

索引匹配数组公式:

 =INDEX(A2:C9,MATCH(1,(H4=$A:$A)*(I4=$B:$B),0),3) 

基本上A和B是我的查找标准,而C是我想要得到的值。 我想C是匹配的C值中的最小值。

防爆。 如果我有塔斯马尼亚和霍巴特作为我的标准,我会得到17,因为它是最小值,而不是21。

我试图在索引匹配数组(H4=$A:$A)*(I4=$B:$B)*(MIN($C:$C))嵌套MIN但这只会导致错误

以AGGREGATE函数作为标准公式,

 =AGGREGATE(15, 6, C2:INDEX(C:C, MATCH(1E+99,C:C ))/((A2:INDEX(A:A, MATCH(1E+99,C:C ))=F2)*(B2:INDEX(B:B, MATCH(1E+99,C:C ))=G2)), 1) 

aggregate_min

作为一个老式的标准配方,你的原来的样子,

 =MIN(INDEX(C2:C13+((H4<>A2:A13)+(I4<>B2:B13))*1E+99, , )) 

这只是一个MIN(IF...不是一个INDEX 。在SUMIFCOUNTIF之前,在Excel中实现SUM(IF...COUNT(IF...必须以这种方式使用。

由于直到现在还没有MINIFS ,为此我们必须进一步使用:

 {=MIN(IF($A$1:$A$1000=H4,IF($B$1:$B$1000=I4,$C$1:$C$1000,NA())))} 

这是一个数组公式。 input到没有花括号的单元格中,按[Ctrl] + [Shift] + [Enter]确认。 大括号应该自动出现。