循环一个函数进行多次查找

时间:2015-11-25 22:37:30

标签: excel excel-formula

我试图编写一个公式,在不同的工作表中搜索零件编号,并导入零件检查失败的所有时间。问题是当部件出现故障时我有多种情况,因此它们会分成不同的行。现在我可以使用以下公式调用一个实例;

=INDEX('QN Data'!$A3:$A10000,MATCH($B$4,'QN Data'!$D$3:$D$10000,0))

我需要转移的共有6种不同的事件。现在有没有办法让excel记住它从哪里开始并从那里开始?

我也不能使用任何宏。我们现在有一个可以做到这一切,但我的老板不喜欢使用它们。我尝试填写公式,但它只是给了我一个QN编号,低于我想要的零件编号,这完全是一个不同的零件编号。

1 个答案:

答案 0 :(得分:3)

您可以使用AGGREGATE function检索多重匹配,以强制任何不匹配的错误并忽略错误。

=INDEX('QN Data'!$A$3:$A$10000, AGGREGATE(15, 6, ROW($1:$9998)/('QN Data'!$D$3:$D$10000=$B$4), ROW(1:1)))

您实际上正在使用AGGREGATE函数的SMALL子函数,因此您可以通过增加 k 参数来获得第二次,第三次等连续匹配。我通过使用等于1的ROW(1:1)完成了上述操作,但随着公式的填充,将增加到2,3等。

' QN数据中的相对行位置!$ A $ 3:$ A $ 10000是通过将任何不匹配的行位置强制转换为#DIV/0!而返回的错误状态。 6 选项告诉AGGREGATE忽略错误。

您可能希望在公式周围放置一个IFERROR function,这样您就可以填写不必要的行,而不会在匹配用完时显示#NUM!错误。