创build一个多条件,多行'IF和MIN'的条件公式

我有一个电子表格,其中包含来自排水程序(pipe道和坑)的值,我想创build一个公式,find坑名称,然后find连接到该坑的pipe道下游端的最小值。

我可以用数组来处理 – {=MIN(IF('ArcGIS Pipes'!$C$2:$C$100=A3,'ArcGIS Pipes'!$F$2:$F$100))} 。 但是,有时坑只连接到上游端,这意味着它在U/S IL (m)下处于不同的列中。 如果是这种情况,那么我想要的价值,但目前,我不得不先运行D/S IL (m)列公式,如果没有返回任何,那么我必须手动更改为null {=MIN(IF('ArcGIS Pipes'!$B$2:$B$100=A2,'ArcGIS Pipes'!$E$2:$E$100))}检查U/S IL (m)列。 一旦我这样做了,任何剩余的null值是坑没有连接到任何pipe道,他们被手动赋予一个空值。

所以,我想要做的就是有一个方法可以完成上述所有的工作,而不需要我去做,也不必做任何事情。 简而言之,我想要公式首先检查一个列中最小的下游值,如果没有返回任何值,那么我希望它检查另一列中的最小上游值,最后如果没有返回任何值,那么我想返回一个空值。

我已经摆弄嵌套的IF和子数组,但只是得到一个错误或返回一个FALSE 。 我试过的公式给了我FALSE =IF((MIN(IF('ArcGIS Pipes'!$C$2:$C$100=A2,'ArcGIS Pipes'!$F$2:$F$100))),IF(MIN(IF('ArcGIS Pipes'!$B$2:$B$100=A2,'ArcGIS Pipes'!$E$2:$E$100)),null)) 。 我知道我错过了一些东西,但我已经开始绕圈了!

Screengrab – 左表是源表,右表是结果表

在这里输入图像说明

这可能是您正在查找的数组公式1。 在K2中,

 =IF(ISNUMBER(MATCH(H2,C:C, 0)), AGGREGATE(15, 6, F$2:INDEX(F:F, MATCH("zzz",C:C ))/(C$2:INDEX(C:C, MATCH("zzz",C:C ))=H2), 1), IF(ISNUMBER(MATCH(H2,B:B, 0)), AGGREGATE(15, 6, E$2:INDEX(E:E, MATCH("zzz",B:B ))/(B$2:INDEX(B:B, MATCH("zzz",B:B ))=H2), 1), "no match")) 

根据需要填写。

在这里输入图像说明


¹ 数组公式需要使用Ctrl + Shift + Enter 来完成。 如果input正确,Excel将花括号包括在公式中(例如{} )。 你不要自己input大括号。 一旦正确input第一个单元格,就可以像其他任何公式一样向下或向右填充或复制它们。 尝试和减less您的全列引用范围更接近代表实际数据的范围。 数组公式将计算周期对数化,所以最好将参考范围缩小到最小。 有关更多信息,请参阅数组公式的示例 。