MIN IF 数组函数具有多个“类似”条件

MIN IF 数组函数具有多个“类似”条件

我认为我有一个很好的。

我需要在多个条件上执行 MIN-IF(和 MAX-IF),其中需要近似匹配。我知道如何按照IF所述使用多个语句的乘积在多个条件上执行 MIN IF这里,但我需要使用近似匹配/类似匹配,并且IF不接受"*" & criteria & "*"类似函数的语法COUNTIF, VLOOKUP,...。我能够使用方法处理 MAX-IF ISNUMBER SEARCH

我希望可以发布我的虚拟数据的图片,但我没有资格这样做。所以我会尽力描述它。

A 列包含第 2 行到第 14 行中第一个条件的数据。

B 列包含第 2:14 行中第二个条件的数据。

C 列包含我想要确定第 2 行到第 14 行近似匹配的值MIN

我在单元格中有条件 1 F1,在单元格中有条件 2。F2我对 MAX IF 的公式如下:

{=MAX(IF(ISNUMBER(SEARCH(F1,A2:A14)) * ISNUMBER(SEARCH(F2,B2:B14)), ISNUMBER(SEARCH(F1,A2:A14)) * ISNUMBER(SEARCH(F2,B2:B14)))*C2:C14)}

我试图用MIN而不是 来精确复制这一点MAX,但它只是返回0

我目前正在使用 Excel 20113,并且愿意使用工作表函数解决方案或基于 VBA 的解决方案。对此有什么看法?

谢谢。

答案1

您可以将最大数组公式缩短为:

=MAX(IF((ISNUMBER(SEARCH(F1,A2:A14))) * (ISNUMBER(SEARCH(F2,B2:B14))),C2:C14))

接下来尝试一下这个:

=MIN(IF((ISNUMBER(SEARCH(F1,A2:A14))) * (ISNUMBER(SEARCH(F2,B2:B14))),C2:C14))

如果您拥有 2010 或更高版本,则不需要 CSE 数组公式,请使用以下命令:

最大限度:

=AGGREGATE(14,6,C2:C14/((ISNUMBER(SEARCH(F1,A2:A14)))*(ISNUMBER(SEARCH(F2,B2:B14)))),1)

最小值:

=AGGREGATE(15,6,C2:C14/((ISNUMBER(SEARCH(F1,A2:A14)))*(ISNUMBER(SEARCH(F2,B2:B14)))),1)

现在有趣的部分是,如果您拥有最新版本的 365 或正在使用在线办公,那么您可以使用其新的 MINIFS() 和 MAXIFS():

=MAXIFS(C2:C14,A2:A14,"*" & F1 & "*",B2:B14,"*" & F2 & "*")
=MINIFS(C2:C14,A2:A14,"*" & F1 & "*",B2:B14,"*" & F2 & "*")

相关内容