2017-03-02 185 views
0

如何合併這兩個公式,把0變成BLANK響應:Excel中 - 兩個公式結合到一個

=INDEX($A:$A,SMALL(IF($B:$B<=$G$3,ROW($B:$B)),ROW(2:2))) 
=INDEX($A:$A,SMALL(IF($C:$C<=$H$3,ROW($B:$B)),ROW(2:2))) 

我有我嘗試引用吐出了多個可能值兩列兩個單獨輸入值的結果。例如:

A   B     C 
SCAC  Linear Feet   Weight 
PITD  20     10000 
ESTE  10     15000 
SAIA  25     20000 
ABFS  20     25000 

輸入值

Linear Feet  Weight 
20    20000 

如果輸入的字段大於或等於我希望它返回符合條件

對不起球員,所有的價值,我只是字從我的老闆誰想要INPUT值是或者匹配LINEAR FEET或WEIGHT ...有什麼想法來適應這個新的問題?

返回

SCAC Code 
PITD  
SAIA 
ABFS 

回答

1

只添加第二準則:

=INDEX($A:$A,SMALL(IF(($B:$B<=$G$3)*($C:$C<=$H$3),ROW($B:$B)),ROW(2:2))) 

這是陣列式的,需要用Ctrl-Shift鍵輸入來確認。

*類似於AND代替OR代替使用+


警告

數組公式不應該使用全列引用,但只引用數據集:

=INDEX($A:$A,SMALL(IF(($B1:$B100<=$G$3)*($C1:$C100<=$H$3),ROW($B1:$B100)),ROW(2:2))) 

數組公式會重複問這樣的遺囑原件的整個範圍做超過200萬的計算。


如果你想兩全其美,動態數據集的(所以你不需要更改公式時,添加新的數據),只有重複的進行數據的單元格,我們可以使用INDEX/MATCH到找到並設置數據的最後一個單元格。

我們將使用MATCH找到在列A的最後一行的值:MATCH("ZZZ",A:A)然後用每列索引限制數組:

=INDEX($A:$A,SMALL(IF(($B$1:INDEX($B:$B,MATCH("ZZZ",$A:$A))<=$G$3)*($C$1:INDEX($C:$C,MATCH("ZZZ",$A:$A))<=$H$3),ROW($B$1:INDEX($B:$B,MATCH("ZZZ",$A:$A)))),ROW(2:2))) 

然後,這將增加數據集數據在數據被移除時添加和收縮數據集。

+0

對不起,我只是從我的老闆那裏得到INPUT值要麼是/或者是匹配LINEAR FEET還是WEIGHT ......有什麼想法來適應這個新問題? –

+0

只需使用'+'代替'*' –