对另一个Excel表格使用的表进行排序会导致不同的VLOOKUP结果。

4
我正在使用Excel 2010创建一个仪表盘,其中使用VLOOKUP函数调用另一个工作表的值。
我使用的公式是:
=VLOOKUP(L$1,Sheet_B!$A:$H,7,2)
L$1在Sheet_A上寻找唯一标识符,然后在Sheet_B上找到该ID,然后查找相应的数据并提取它。
问题在于:
如果我不对Sheet_B做任何更改,我将得到一个值-比如5。这个值是不正确的。
如果我按字母顺序从A到Z对Sheet_B进行排序(不更改数据),我将得到一个完全不同的值-比如12-这是正确的值。
问题在于,VLOOKUP函数检查的数据没有改变,只是在Sheet_B中排序的方式不同。
是否有任何原因会发生这种情况?更重要的是,如何修复它,以便我不必每次拉取此仪表板时都对Sheet_B进行排序?
1个回答

4

如果您的第4个参数等于True(在您的情况下为2),VLOOKUP会尝试查找近似匹配,因此您需要按升序排列table_array的第一列中的值。

如果更改为0(相当于False),VLOOKUP将尝试查找确切匹配,因此不需要排序。

因此,您应将VLOOKUP更改为:

=VLOOKUP(L$1,Sheet_B!$A:$H,7,0)

您可以在这篇Microsoft Office支持文章中了解更多关于VLOOKUP功能的内容

1
非常感谢!这解决了我的问题。 - Manatee_Outlaw

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接