我正在尝试使用excel vlookup函数在使用对其他工作表中其他单元格的引用创建的表中搜索值。搜索的每个单元格都引用另一张工作表中的其他单元格,如下所示:
在此表中,我将该表命名为Statistics,为了进行测试,我将其命名为greyhound。我还创建了其他表格来查找灰狗的统计信息,如下所示:
但是,当我使用Vlookup(葡萄牙语为PROCV)在灰狗栏中搜索时,我收到一条“值不可用”错误消息(也在葡萄牙语中),如您在图像上所看到的。
那么,我怎么能通过它的名字得到灵缇数据呢?实际上它只是被单元引用,而实际上并没有呢?
答案 0 :(得分:1)
VLOOKUP是您真正的问题:D
但是,假设您要使用VLOOKUP,则您定义的范围错误,并且@nutsch是正确的:
=VLOOKUP(B1,Sheet1!A:H,2,FALSE)
或
=VLOOKUP(B1,[Statistics],2,FALSE)
如果[统计]被定义为整个表格。您必须使用“ 2”来调用“运行”,因为这是VLOOKUP的工作方式(它计算您定义的数组中的列数-不在乎您为什么命名)。
现在,说您已经厌倦了使用列号,并且想要使用范围。然后我们看一下索引/匹配。
Index()将帮助我们找到答案,而Match()将帮助我们完成匹配部分。在单元格TheBest!B2中,您应该输入:
=INDEX(Sheet1!B:B,MATCH(B1,Sheet1!A:A,0))
或
=INDEX([Runs],MATCH(B1,[Greyhound],0))
如果您使用的是命名范围(在同一屏幕截图中[灰狗]是第A列,[运行次数]是B列。)Match方程中的0是我们如何找到完全匹配项好吧。
有趣的是,我注意到您的输出表只是翻转数据。 您可以在此处使用数据透视表,甚至可以设计一个适用于所有具有索引/匹配/匹配的单元格的方程。
Index()可以让您定义行和列,所以我们也要这样做!
=INDEX(Sheet1!A1:H100,MATCH(B$1,Sheet1!A:A,0),MATCH($A2,Sheet1!1:1,0))
或者,如果我假设[Statistics]是整个表格,[Greyhound]是A列,[Headers]是第1行,
=INDEX([Statistics],MATCH(B$1,[Greyhound],0),MATCH($A2,[Headers],0))
您可以将此等式向下拖动到报告页上的B2:B8上,并且无论B1中显示的是哪条狗,它都可以正常工作。
如果您的Statistics数组使用= Top50Graded!A3来引用狗名,那么这些都不在乎。