如何使用vlookup搜索单元格值而不是其单元格引用公式(Excel)

时间:2018-10-03 01:01:34

标签: excel reference vlookup

我正在尝试使用excel vlookup函数在使用对其他工作表中其他单元格的引用创建的表中搜索值。搜索的每个单元格都引用另一张工作表中的其他单元格,如下所示:

Table used to lookup greyhound stats data

在此表中,我将该表命名为Statistics,为了进行测试,我将其命名为greyhound。我还创建了其他表格来查找灰狗的统计信息,如下所示:

VLookUp Sheet

但是,当我使用Vlookup(葡萄牙语为PROCV)在灰狗栏中搜索时,我收到一条“值不可用”错误消息(也在葡萄牙语中),如您在图像上所看到的。

那么,我怎么能通过它的名字得到灵缇数据呢?实际上它只是被单元引用,而实际上并没有呢?

1 个答案:

答案 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来引用狗名,那么这些都不在乎。