查找索引(匹配)数组中的最小值[EXCEL]

时间:2016-04-30 10:07:58

标签: arrays excel indexing match lookup

这是我的简单表

A                           B               C
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。

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

2 个答案:

答案 0 :(得分:3)

这是MIN(IF...而不是INDEX。在SUMIF实施COUNTIFExcel之前,偶数SUM(IF...COUNT(IF...必须以这种方式使用。

由于到目前为止还没有MINIFS,为此必须进一步使用:

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

这是一个数组公式。将其输入单元格而不使用大括号,然后按[Ctrl] + [Shift] + [Enter]进行确认。然后应自动显示花括号。

答案 1 :(得分:3)

AGGREGATE function作为标准公式,

=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, , ))