2016-04-30 77 views
4

這是我的簡單的表格查找在指數(匹配)最小值陣列[EXCEL]

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值中的最小值。

Ex。 如果我有塔斯馬尼亞州霍巴特爲我的標準,我希望得到17,因爲它是最低值,而不是21

我試着築巢MIN索引匹配陣列(H4=$A:$A)*(I4=$B:$B)*(MIN($C:$C))內,但它只會導致錯誤

回答

1

這是MIN(IF...而不是INDEX。在Excel中執行SUMIFCOUNTIF之前,即使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]確認。大括號應該自動出現。

2

隨着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, ,)) 
+0

智能公式,但爲什麼不直接'= MIN(IF((F2 = A2:INDEX(A:A,MATCH(1E + 99,C:C)))*(G2 = B2:INDEX(B:B,MATCH(1E + 99,C:C ))),C2:INDEX(C:C,MATCH(1E + 99,C:C))))'作爲數組? –

+0

Axel在另一個答案中做了數組公式。我堅持非數組風格。 – Jeeped

+1

你的furmula也是陣列式(只是沒有CSE)。真正的技巧應該是'C2:INDEX(C:C,MATCH(1E + 99,C:C))',它允許在數組中使用整列而不會凍結excel;) –