Excel 匹配多个工作表中的单元格

Excel 匹配多个工作表中的单元格,excel,excel-formula,Excel,Excel Formula,我有一个包含多张表格的Excel电子表格。工作表1在a列中有一个查找值,如果它存在于另一个工作表中,我希望从另一个工作表中同一行的单元格返回值,但从D列返回。如果我硬编码工作表,我已成功使其工作: =IF(ISERROR(MATCH(A6,Sheet2!B:B,0)),"",INDEX(Sheet2!B:B,MATCH(A6,Sheet2!B:B),0)) 但是,我不想将搜索限制在Sheet2。我尝试生成一个命名范围SheetList,与INDIRECT()一起使用,以替换如下查找数组: =I

我有一个包含多张表格的Excel电子表格。工作表1在a列中有一个查找值,如果它存在于另一个工作表中,我希望从另一个工作表中同一行的单元格返回值,但从D列返回。如果我硬编码工作表,我已成功使其工作:

=IF(ISERROR(MATCH(A6,Sheet2!B:B,0)),"",INDEX(Sheet2!B:B,MATCH(A6,Sheet2!B:B),0))
但是,我不想将搜索限制在Sheet2。我尝试生成一个命名范围SheetList,与
INDIRECT()
一起使用,以替换如下查找数组:

=IF(ISERROR(MATCH(A6,(INDIRECT("'"&SheetList&"'!B:B")),0)),"",INDEX(INDIRECT("'"&SheetList&"'!A:A"),MATCH(A6,(INDIRECT("'"&SheetList&"'!B:B")),0)))
但我不能让它工作。我觉得是时候承认失败并寻求帮助了


谢谢

假设您只有几张工作表要查看,您可以使用嵌套的IFERROR语句非常简单地完成这项工作。IFFERROR首先尝试执行计算-如果该计算有效,则返回值。如果该计算导致错误,它将返回您指定的替代结果

您可以使用它来检查每个工作表,每次找不到匹配项时都会向下层叠到后续工作表,如下所示[注意,我已经调整了索引,从任何工作表的D列中提取值,其中该工作表的B列与当前工作表的A6相匹配。这可能不是您希望它提取的方式]:

=IFERROR(INDEX(Sheet2!D:D,MATCH(A6,Sheet2!B:B)),IFERROR(INDEX(Sheet3!D:D,MATCH(A6,Sheet3!B:B)),IFERROR(INDEX(Sheet4!D:D,MATCH(A6,Sheet4!B:B)),""))))

这首先尝试从表2中获取D列,其中A6位于表2中的B列上;如果出现错误,则尝试第3页,如果出现错误,则尝试第4页。如果在第4页中未找到匹配项,则会提供空白响应。

如果您尚未解决此问题。试试看

=IF(ISERROR(MATCH(A6,(INDIRECT("'"&"Sheet2"&"'!"&B:B)),0)),"",INDEX(INDIRECT("'"&"Sheet2"&"'!"A:A),MATCH(A6,(INDIRECT("'"&"Sheet2"&"'!"B:B)),0)))
或者在A1中键入图纸名称,在B1中键入范围,然后引用它们

...indirect("'"&A1&"'!"&B1)...

然后您只需更改A1或B1中的值即可使其成为动态:)

谢谢您的帮助。这不是我想要的。使用表1中的一列作为我的参考(匹配值),我想搜索12个不同的表(表2-13)以在B列中找到匹配项,如果它返回匹配项,则返回该表中识别的值,但来自D列。是否可能?感谢您的帮助。仍然不起作用:-(我不想使其在中动态,因为我希望它自动从13张工作表列表中列出的不同工作表中搜索。是否将范围编码前的&添加到当前工作表中?我希望在工作表2-13之一的工作表1中的A6中查找值,以及当它确实从获胜工作表返回值时,从A列返回值。其他任何r创意?再次感谢
&
用于连接
字符串