2016-08-12 39 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