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¹函数,可以使基于渐进(第一,第二,第三等匹配)的双标准匹配结果更容易。
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(...),"")