2016-08-12 45 views
-1

我曾問這個問題MAX IF的子範圍之前。如何找到(在這種情況下,列B)的最大值(COL A)爲不同的項目爲範圍寫在C山坳最小IF如果子範圍

| A | B | C | 
| 10 | cat |   | 
| 15 | cat |   | 
| 5 | dog |   | 
| 4 | dog |   | 
| 11 | dog |   | 
| 6 | fish |   | 
| 10 | fish |   | 

PPL回答我=MAX(INDEX(("$B$1:$B$7=B1)*$A$1:$A$7,0))工作正常,但是當我試圖用它對於最小值,我的意思是=MIN(INDEX(("$B$1:$B$7=B1)*$A$1:$A$7,0))我得到了整個C列的零。

我能做什麼錯?

+1

有趣的 - 我試過了,如果你使用負數,那麼'Min()'的作品。不知道爲什麼不積極。 – BruceWayne

+1

與'IF()'函數一起使用。例如:'= MIN(IF(B1:B7 = B1,A1:A7))' – Brian

+0

我希望你不要忽視Acceptance [here](http://stackoverflow.com/q/38234483/1505120):) PS什麼*這個* Q與VBA有關嗎? – pnuts

回答

1

我總是用這個來尋找最小和最大的數組公式。請務必使用Shift + Ctrl + Enter輸入以下內容。

{=MIN(IF($B$1:$B$7=B7,$A$1:$A$7,""))} 
+0

我必須在整個範圍內使用它。通過使用'range(「C1:C7」)。FormulaArray =「= MIN(IF($ B $ 1:$ B $ 7 = B7,$ A $ 1:$ A $ 7,」「))」'不起作用,因爲小區B7。任何想法? –

+0

我給你的公式基於你的例子。更改範圍以符合您的需求。 – Kyle