![在多个工作表和多个输入中使用 VLOOKUP() 时遇到问题](https://linux22.com/image/1563808/%E5%9C%A8%E5%A4%9A%E4%B8%AA%E5%B7%A5%E4%BD%9C%E8%A1%A8%E5%92%8C%E5%A4%9A%E4%B8%AA%E8%BE%93%E5%85%A5%E4%B8%AD%E4%BD%BF%E7%94%A8%20VLOOKUP()%20%E6%97%B6%E9%81%87%E5%88%B0%E9%97%AE%E9%A2%98.png)
我正在尝试建立一种基于两个输入来快速提取数据的方法。
输入位于第一个工作表 上Journey
。第一个输入C2
是一个下拉列表,其中的选择与工作表 3-11 的标题相同。第二个输入N2
是一个从 1 到 100 的数字。
工作表 3-11 上有两列表格。列A
包含从 1 到 100 的数字(将与 中的输入值匹配N2
)。列包含我需要提取B
的信息。O2
Journey
是否存在一个公式可以查看C2
、找到该工作表并用它N2
来查找所需的信息,然后将该信息拉回到Journey
?
Journey
以下是工作表的截图
以及 3-11 号工作表之一
我曾尝试使用INDIRECT()
和INDEX()
/MATCH()
函数但无法使它们工作。
如果需要更多信息,请询问,我会添加。
答案1
您可以使用INDIRECT()
编译一个代表正确范围的字符串来运行查找,如下所示:
=VLOOKUP(N2,INDIRECT("'"&C2&"'!A:B"),2,FALSE)
。
一些解释
"'"&C2&"'!A:B"
C2
包含要在其上运行查找的工作表的名称。&
是连接运算符。双引号 ( "
) 中的值是字符串。如果C2
=,"Orange"
则连接的字符串将是"'Orange'!A:B"
。
INDIRECT("'"&C2&"'!A:B")
INDIRECT()
只需以字符串格式获取范围的名称并返回对该范围的引用。因此"'Orange'!A:B"
,给定的INDIRECT()
将返回对该范围的引用'Orange'!A:B
。然后我们可以将其VLOOKUP()
作为其第二个参数传递给(如上所示)。