Excel:来自不同工作表的 VLOOKUP

Posted

技术标签:

【中文标题】Excel:来自不同工作表的 VLOOKUP【英文标题】:Excel: VLOOKUP from a different Sheet 【发布时间】:2013-11-14 12:22:12 【问题描述】:

我知道有几个关于这个的帖子,这里和其他地方,但无论我尝试哪种方法,我似乎都会得到错误。

我正在尝试使用基于值列表中相应值的值填充相邻单元格。例如,有一个 Test -> Action 对的列表,定义在两列中。在另一个单元格中,我想输入一个存在于 B 列中的值,然后用 A 列中的相应值填充相邻的单元格。

这是我的工作表。

“操作”和“测试(测试组)”列定义了相应的值。

当我在“操作”值中输入值时,我在“测试(测试组)”列(前两列下方,从第 10 行及以下)中使用 VLOOKUP 来填充单元格。很简单。

但是,现在我需要在另一张表中使用这个确切的功能。我需要将“操作”和“测试(测试组)”列 - 第 10 行及以下 - 移动到另一张表,并且仍然引用此表中的值(第 2 - 6 行)。

我尝试了 INDIRECT 和其他几个替代方案,并且在我使用 VLOOKUP 的单元格中都给了我“#REF”或“#VALUE”。

谁能解释如何做到这一点,与这个例子有关?

【问题讨论】:

只需更新对 sheet1 的表引用!Range 【参考方案1】:

您需要将工作表名称添加到您的公式中。如果名称中有空格或特殊字符,请使用单引号。像这样:

=VLOOKUP(A1,'sheet-name-with-dash'!$A$1:$B$9,2,FALSE)

【讨论】:

不是另一个工作簿 - 只是同一个工作簿中的另一个工作表。如果我在您的示例中删除 [Book2] 条目,我会收到“公式错误”。 (如果我离开它,我也会得到同样的错误......) 算了。此行有效: =VLOOKUP($A$1;Tests_Action_Overview!$A$1:$B$10;2;FALSE) (不是不同的工作簿,只是另一个工作表。)我的工作表名称的问题是它显然不能包含“- " 如果我​​想将它与 VLOOKUP 一起使用。 @kakemonsteret "-" 应该可以正常工作,只要您将工作表名称括在单引号 (') =VLOOKUP(A1,'sheet-name-with-dash'!$A$1:$B$9,2,FALSE) @kakemonsteret 很抱歉造成混淆 - 我修改了另一个工作表的答案,而不是另一个工作簿 @kakemonsteret - 美元符号 ($) 告诉 Excel 保持该值不变。因此,当您说 $D10 时,您是在强制 Excel 不更改列。如果您删除 $(仅 D10),您应该也会看到列更新。【参考方案2】:

可能看起来不合适,但每当我看到这类问题(在定义和使用范围时)我都会想到 Excel 选项来定义这些范围(如在 Ctrl+F3、名称管理器中)。展示:

select your area: in your case A2:B6, 
hit: Ctrl+F3, 
name the range: i.e. LookupRange
use that range in Vlookup formula like: Vlookup($A12,LookupRange,2,0)

我不经常使用它,但在包含许多工作表、范围、公式的工作簿中可能会很方便。至少试试这个是为了好玩。 希望对您有所帮助。

【讨论】:

以上是关于Excel:来自不同工作表的 VLOOKUP的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL函数 vlookup如何在不同工作薄之间引用数据?

vlookup函数中的参数怎么修改?

Excel 中的 VLOOKUP 问题,#Value

excel中引用其他工作表,为啥不行呢

两个Excel表格如何调用关联数据?比如:A表格里有序号、姓名、身份证号

Excel上使用Vlookup函数,选择区域于另外多张Sheet上,Sheet名称应作为变量而非手工输入表现在函数中。