VLOOKUP函数的引用问题

今天导表的时候出现了一个问题,v出来的数据并不完全正确,有一些明明在原表里面有数据的行,v出来的结果却是#N/A。探究以后发现,问题出在公式下拉上。
我发现我往下面的表格拉公式的时候,待查询表的区域也在随之变化,导致我原来虽然把所有的数据都选上了,但是下拉以后,有的数据就没被选中。在百度以后发现,这因为VLOOKUP函数没有进行绝对引用。


VLOOKUP函数的基本用法

示例:=VLOOKUP(D2,’[统计表.xlsx]Sheet1’!$A 2 : 2: 2:F$30,6,0)
结果:在名为统计表的Sheet1中的A2到F30区域,查找与D2数据相同的表格。如果有匹配的表格,则从该表格所在列数起,把该行第6列的数据返回;如果没有匹配的表格,则返回#N/A。

  • D2表示需查询的单个表格所在位置
  • A2表示待查询区域的左上表格,F30表示待查询区域的右下表格。也就是说,A1和F30分别为查询区域的左上角和左下角,二者确定了一个方形的表格区域
  • 6表示如果在A这一列找到了跟D2一样的数据,需要从A开始数6列,把该结果返回
  • 0表示精确查找,不写为大致查找,建议写

这个基本用法太难写了,用过的人肯定会用。不会用的人,还是百度一下用法吧……话说回来,不会用VLOOKUP函数的人也不会出现我这个问题了。。


相对引用和绝对引用

上面的示例就是用的绝对引用,里面用了四个$$表示绝对引用。
什么意思呢?就是说在A前面加了$,那么A就固定了,不管我怎么拉表,A都不会随之变化。
不用$,那么就表示相对引用。
假如上面的示例公式改为:

=VLOOKUP(D2,’[统计表.xlsx]Sheet1’!A2:F30,6,0)

那么如果我进行公式下拉的操作,那么A2:F30也会随之变化。
比如,我把公式从D2拉到D3,那么待查询区域就会变成A3:F31。以此类推。


问题探究

所以我的错误就出在,我用VLOOKUP函数时,用了相对引用,导致下面的其他公式的查询区域发生变化。

试了几次之后我发现,在进行VLOOKUP函数操作时,

  • 如果查询区域与需查询的数据格在同一个文件里面,那么系统会默认相对引用查询区域;(即$A$2:$F$30这样的格式)
  • 不在同一个文件里时,系统默认绝对引用查询区域。(即A2:F30这样的格式)

所以,如果在表格中使用VLOOKUP出现问题时,可能是因为没有绝对引用查询区域,这时只需要在公式里添加$再下拉公式即可。

你可能感兴趣的:(VLOOKUP函数的引用问题)