我有一个 vlookup 函数,它应该能从另一个工作表中获取一些数据。该工作表包含足球数据,特别是过去 3 年的欧洲杯数据(9-10、10-11、11-12、12-13 不在其中,因为尚未结束,尽管多特蒙德会获胜 ;))
无论如何,数据分布在两个工作表中。一个工作表包含一支球队在所有欧洲杯比赛中获得的总分数,以及一些其他数据,例如在预选赛中获得的分数等。在本例中,该工作表称为“11-12 排名”。
另一张表称为“11-12 场比赛”,其中包含该赛季进行的所有欧洲杯比赛及其结果,包括所有球队的比赛结果,而不仅仅是一支球队的比赛结果!
数据如下:
11-12 排名
A B C
team A pointsTeamA qualifyingPointsTeamA
team B pointsTeamB qualifyingPointsTeamB
team C pointsTeamC qualifyingPointsTeamC
. . .
. . .
. . .
. . .
其中 pointsTeamA 等和qualifyingPointsTeamA等是数字,而team A、team B 等是球队名称,例如皇家马德里等。
另一张表“11-12 场比赛”的有趣部分包含该赛季获得资格并参加欧洲杯的所有球队的唯一名称列表。在这些名称右侧的列中,我想查找该球队在该赛季获得的积分,正如我所说,这些积分存储在另一张表“11-12 排名”中。因此,“11-12 场比赛”看起来像这样。
A B C
uniqueTeamName A =VLOOKUP(A1,'11-12 ranking'!$A$3:$I$292,2)
uniqueTeamName B =VLOOKUP(A2,'11-12 ranking'!$A$3:$I$292,2)
uniqueTeamName C =VLOOKUP(A3,'11-12 ranking'!$A$3:$I$292,2)
. .
. .
. .
. .
但是,我在上面电子表格的 B 列中实际得到的是与查找电子表格中另一行匹配的值,而不是与我希望它匹配的行匹配的值?!我现在不知道为什么。我已经使用一个简单的 if 语句检查了我希望在工作表中匹配的值(例如 uniqueTeamName A = TeamName A)是否匹配,例如,对于这两个值都是“马德里”、“巴塞罗那”或其他值的情况。所以我现在不知道为什么它不能正确查找这些值。有人能帮忙吗?:) 提前谢谢大家!!干杯,如果有人对我得到的结果感兴趣,我可以稍后发布!谢谢,
克里斯
答案1
您需要使用FALSE
range_lookup 值。
Range_lookup 一个逻辑值,指定是否希望 VLOOKUP 查找完全匹配或近似匹配:
如果为 TRUE 或省略,则返回精确或近似匹配。如果未找到精确匹配,则返回小于 lookup_value 的下一个最大值。table_array 第一列中的值必须按升序排列;否则,VLOOKUP 可能无法给出正确的值。您可以通过从“数据”菜单中选择“排序”命令并选择“升序”来按升序排列值。有关更多信息,请参阅默认排序顺序。
如果为 FALSE,VLOOKUP 将仅查找完全匹配项。在这种情况下,table_array 第一列中的值无需排序。如果 table_array 第一列中有两个或多个值与 lookup_value 匹配,则使用找到的第一个值。如果未找到完全匹配项,则返回错误值 #N/A。