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

Posted

技术标签:

【中文标题】匹配多个工作表中的单元格【英文标题】:Match cell from multiple worksheets 【发布时间】:2015-11-11 21:32:09 【问题描述】:

我有一个包含多张工作表的 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)))

但我无法让它工作。我觉得是时候认输求救了!

谢谢

【问题讨论】:

【参考方案1】:

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

您可以使用它来检查每个工作表,每次找不到匹配项时级联到下一个工作表,如下所示[注意,我已调整您的 INDEX 以从任何工作表的列 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 列,其中在工作表 2 的 B 列上找到 A6;如果出错,则尝试工作表 3,如果出错则尝试工作表 4。如果在工作表 4 中未找到匹配项,则提供空白响应。

【讨论】:

感谢您的帮助。这不是我要找的。使用 Sheet1 中的列作为我的参考(匹配值)我想搜索 12 个不同的工作表(工作表 2-13)以在 B 列中找到匹配项,如果它返回匹配项,则返回该工作表中的值被识别但来自 D 列。这可能吗?【参考方案2】:

如果您还没有解决这个问题。试试……

=IF(ISERROR(MATCH(A6,(INDIRECT("'"&"Sheet2"&"'!"&B:B)),0)),"",INDEX(INDIRECT("'"&"Sheet2"&"'!"A:A),MATCH(A6,(INDIRECT("'"&"Sheet2"&"'!"B:B)),0)))

或在 A1 中键​​入工作表名称,在 B1 中键入 Range,然后引用它们

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

然后您可以更改 A1 或 B1 中的值以使其动态:)

【讨论】:

感谢您的帮助。仍然无法正常工作:-(我不想让它动态化,因为我希望它自动从工作表列表中列出的 13 个不同工作表中搜索。是否在将其编码到当前工作表的范围之前添加 &?我想在第 2-13 页中的一张中的第一张中找到 A6 中的值,并且当它确实从获胜表中返回值但从 A 列返回值时。还有其他想法吗?再次感谢 & 用于连接strings

以上是关于匹配多个工作表中的单元格的主要内容,如果未能解决你的问题,请参考以下文章

在两个单独工作表中的两个单元格之间应用条件格式

尝试使用 VBA 更改工作表中特定单元格的值失败

在不同的工作表中根据单元格(其中有公式)改变标签页的颜色,适用于多个工作表。

将值从多个工作簿复制到主文件中的特定单元格

如果 A 列中的单元格为空白,则针对不同工作表中的数据集查找 B 列

在 excel 365 中,在 2 个单独的工作表中查找重复数据,然后复制相邻的单元格数据