Excel – 将两个公式合并为一个

如何将这两个公式结合起来,并将0转换为BLANK响应:

 =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))) 

我有两列,我试图引用吐出两个单独的input值的可能结果的多个值。 例如:

 ABC SCAC Linear Feet Weight PITD 20 10000 ESTE 10 15000 SAIA 25 20000 ABFS 20 25000 

input值

 Linear Feet Weight 20 20000 

如果input的字段大于或等于我希望它返回符合条件的所有值

抱歉的家伙,我只是从我的老板谁想要INPUT值要么是/或匹配的线性脚或重量…任何想法,以适应这个新的问题?

返回

 SCAC Code PITD SAIA ABFS 

您只添加第二个标准:

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

这是一个数组公式,需要用Ctrl-Shift-Enter确认。

* AND OR相似ANDOR代替。


警告

数组公式不应该使用完整的列引用,而只能引用数据集:

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

数组公式将迭代所要求的整个范围,以便原始计算超过200万次。


如果你想两全其美,dynamic数据集(所以你不需要在添加新数据的时候改变公式),而只是用数据迭代单元格,我们可以使用INDEX / MATCH来定位和设置最后一个单元格数据。

我们将使用MATCH来查找列A中最后一行的值: MATCH("ZZZ",A:A) ,然后使用每列的INDEX来限制数组:

 =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))) 

随着数据的添加,这将增加数据集,并在数据被移除时收缩数据集。