Excel 循环函数进行多次查找

Excel 循环函数进行多次查找,excel,excel-formula,Excel,Excel Formula,我试图编写一个公式,在不同的表格中搜索零件号,并在零件未通过检查的所有时间导入。问题是,当一个部件出现故障时,我有多个案例,因此它们会分为不同的行。现在我可以用下面的公式调用一个实例 =INDEX('QN Data'!$A3:$A10000,MATCH($B$4,'QN Data'!$D$3:$D$10000,0)) 我总共需要转移6个不同的事件。现在有没有一种方法可以让excel记住它在哪里停止并从那里开始 我也不能使用任何宏。我们目前有一个可以完成所有这些,但我的老板不喜欢使用它们。我尝试

我试图编写一个公式,在不同的表格中搜索零件号,并在零件未通过检查的所有时间导入。问题是,当一个部件出现故障时,我有多个案例,因此它们会分为不同的行。现在我可以用下面的公式调用一个实例

=INDEX('QN Data'!$A3:$A10000,MATCH($B$4,'QN Data'!$D$3:$D$10000,0))
我总共需要转移6个不同的事件。现在有没有一种方法可以让excel记住它在哪里停止并从那里开始


我也不能使用任何宏。我们目前有一个可以完成所有这些,但我的老板不喜欢使用它们。我尝试填写公式,但它只给出了QN编号,该编号低于我想要的零件号,这是一个完全不同的零件号。

您可以使用检索多个匹配项,以强制将不匹配的任何内容写入错误并忽略错误

=INDEX('QN Data'!$A$3:$A$10000, AGGREGATE(15, 6, ROW($1:$9998)/('QN Data'!$D$3:$D$10000=$B$4), ROW(1:1)))
实际上,您使用的是聚合函数的子函数,因此可以通过增加k参数获得第二个、第三个等连续匹配。我在上面通过使用
行(1:1)
实现了这一点,它等于1,但随着公式的填充,它将增加到2、3等

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


您可能希望在公式周围放置一个空格,这样您就可以在不显示
#NUM!的情况下填充更多的行匹配项不足时出错。

透视表?或者,如果您只需要计算失败数,那么
countif
呢?因为MATCH()给出了找到的第一行,所以从第一个查找下的一行开始下一次搜索,而不是从$D$3开始。我需要确切的信息。比如它失败的原因,我们如何防止它再次发生,以及与检查员必须填写的表格相关的QN号。我尝试过这样做,但它给了我错误的QN号。