根据2个标准查找最小值(Excel 2013)
希望根据两套标准find列中的最大值
因此,逻辑将是:find列M中的最小值,其中列A中的值与列N匹配,并且列Y中的值小于318。
我已经尝试使用这样的数组公式,但它似乎并没有工作/是内存重运行:= MIN(IF(AND(N:N = A2,Y:Y <= 318),M: M))
有没有更简单的方法? 或者可能是一个可以工作的UDF?
感谢您的帮助!
您不能在这些types的公式中使用AND
,因为它只返回单个值而不是所需的数组。
这里有三个可能的工作版本:
1.)用*来模拟AND
=MIN(IF((N:N=A2)*(Y:Y<=318),M:M))
用CTRL + SHIFT + ENTER确认
2.)使用多个嵌套的IF
=MIN(IF(N:N=A2,IF(Y:Y<=318,M:M)))
用CTRL + SHIFT + ENTER确认
3.)使用AGGREGATE
函数
=AGGREGATE(15,6,M:M/(N:N=A2)/(Y:Y<=318),1)
这种方法的优点是你不需要“数组input”,它可以忽略数据中的任何错误
无论哪种方式,如果可以的话,最好减小范围大小,因为整列可能会变慢
试试这个,并调整范围以适应。 尽量不要使用整列引用:
=SMALL(INDEX(($N$2:$N$101=A2)*($Y$2:$Y$101<=318)*$M$2:$M$101,),1+ROWS($M$2:$M$101)-COUNTIFS($N$2:$N$101,A2,$Y$2:$Y$101,"<=318"))
如果您使用整列来添加添加的新数据,请考虑使用dynamic命名范围
当事情变得复杂的时候,我通常会把它分解下来,并在单独的列中设置更小/更简单的公式。
换句话说,你有从A到Y列的数据?
那么让我们在列AA中创build一个公式:1)确定Col A中的值与col N相匹配,并且col Y中的值<318
=and(A1=N1,Y1<318)
2)将AA1复制到数据的所有行。
3)现在我们有一个条件去工作..因为有一个SUMIF和COUNTIF,但没有MINIF ..我们将不得不build立自己。 首先是IF:在AB1栏中:
=if(AA1,M1,"")
复制到所有的数据。
最后,做你的分钟:
=MIN(AB:AB)
应该给你你的答案。
你也许可以把前两个拼接在一起,但是再次build立这样一个复杂的公式,首先,