匹配多个工作表中的单元格
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
以上是关于匹配多个工作表中的单元格的主要内容,如果未能解决你的问题,请参考以下文章
在不同的工作表中根据单元格(其中有公式)改变标签页的颜色,适用于多个工作表。