2017-02-23 245 views
1

我有一個電子表格,其中包含來自排水程序(管道和凹坑)的值,我想創建一個公式,該公式可以找到坑名稱,然後找到最小值值在連接到該坑的管道的下游端。創建一個多條件,多行'IF和MIN'條件公式

我可以用數組做 - {=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值都是不連接到任何管道的坑,並且它們被手動賦予一個空值。

所以,我想要做的是有一個公式,可以爲我做上述所有的事情,而不必經過和搗鼓東西。簡而言之,我希望公式首先檢查一列中的最小下游值,如果它不返回任何值,那麼我希望它檢查另一列中的最小上游值,最後如果該值不返回,那麼我希望返回空值。

我已經擺弄嵌套的中頻和子陣列,但只是得到一個錯誤或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 - left table is the source table, right is the results table

enter image description here

+1

你可以添加表格的屏幕截圖嗎? – MakPo

+0

請格式化公式;他們目前是一個惡夢閱讀。 –

+0

如果我明白了,爲什麼不試試'= If([第一個公式] = 0,[第二個公式],[第一個公式])?您應該檢查在第一列中運行它的結果。如果在第二列中是'0',則運行第二個公式。 – BruceWayne

回答

1

這可能是數組formula¹,你所期待的。在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")) 

根據需要填寫。

enter image description here


¹數組公式需要與按Ctrl ++Enter↵完成。如果輸入正確,Excel將花括號包括公式(例如{})。你不要自己輸入大括號。一旦正確輸入第一個單元格,就可以像其他公式一樣向下或向右填充或複製它們。嘗試並將您的全列引用減少到更接近表示實際數據範圍的範圍。數組公式以對數形式計算週期,所以最好將參考範圍縮小到最小。有關更多信息,請參閱Guidelines and examples of array formulas