search两个条目的行并返回成功的结果(修改现有代码)

我目前在Excel中使用这个代码来查找和返回,通过数组,search的结果,但我需要适应search基于两个标准,而不是一个,将不胜感激一些帮助调整代码来做到这一点。

这是我的…

=IF(ISERROR(INDEX($B$1:$F$154,SMALL(IF($B$1:$B$154="Good",ROW($B$1:$B$154)),ROW(1:1)),5)),"",INDEX($B$1:$F$154,SMALL(IF($B$1:$B$154="Good",ROW($B$1:$B$154)),ROW(1:1)),5)) 

它目前searchB1:B154来查找条目“良好”,如果成功则返回列F中相应单元格的内容。

我想要做的是在列A和列B中search另一个术语。换句话说,执行两次search。 如果根据这两个标准find一个成功的条目,则返回上面列F中单元格的内容。

任何帮助深表感谢。

使用新的AGGREGATE¹函数,可以使基于渐进(第一,第二,第三等匹配)的双标准匹配结果更容易。

多个标准,多个返回与AGGREGATE

E4的标准公式是,

 =IFERROR(INDEX(C$1:C$999, AGGREGATE(15, 6, ROW($1:$999)/((A$1:A$999="Bad")*(B$1:B$999="Good")), ROW(1:1))), "") 

根据需要填写。


¹AGGREGATEfunction是在Excel 2010中引入的。它在早期版本中不可用。

要添加第二个条件到您的searchreplace:

 =IF($B$1:$B$154="Good",ROW($B$1:$B$154)) 

 =IF(($B$1:$B$154="Good")*($A$1:$A$154="Condition2"),ROW($B$1:$B$154)) 

这部分:

 ($B$1:$B$154="Good")*($A$1:$A$154="Condition2") 

相当于:

 AND($B$1:$B$154="Good",$A$1:$A$154="Condition2") 

但是AND在数组公式中经常不起作用(它返回单个值)。
另一种select是使用嵌套的IF语句。

如果您正在使用Excel 2007或更高版本,则还可以简化公式而不是

 IF(ISERROR(INDEX(...),"",INDEX(...))) 

使用:

 IFERROR(INDEX(...),"")