VLOOKUP函数的使用非常广泛,在excel2007版之后的软件中,使用VLOOKUP函数也许会遇到这样的场景,明明公式是没有问题的,公式还会报错“引用有问题”。
一、报错场景
输入公式后,回车确认,显示如下报错:
二、报错的产生原因
1.常用excel文件,大体上有两种类型:
一种是97-2003类型,常见文件后缀是.xls,一个工作表共有256列(IV),65536行,如下图:
另一种是2007类型,常见文件后缀是.xlsx、xlsm,一个工作表共有16384列(XFD),1048576行,如下图
2. 在2007及以上版本软件里打开.xls文件,是以兼容模式打开。两种类型excel文件里的函数,只能识别各自最大行数、列数。
问题就来了,以兼容模式打开的97-2003类型文件里,使用VLOOKUP函数,公式引用的数据是另一个2007类型文件的整列或整行,引用的行数或列数就超过自己识别的最大值了,就会出现引用超限的报错。
原本它的引用的只能识别65536行,现在一下给它一个100多万行的区域,瞬间就晕倒了。
三、解决办法
方法1:变更文件类型
将文件改成同一种类型,比如都换成2007类型,这个报错就不会出现了。
方法2:变更公式区域引用
调整公式中的引用区域,不引用整行、整列,将引用的行、列数量限制在97-2003格式可识别的范围内,比如将引用E:F,改成E1:F1000。如果公式需要作拖拽填充,要注意绝对引用与相对引用设置。比如公式可以这样写:
=VLOOKUP(C26,'[督导月报表11月.xlsx]浙江'!$E$1:$F$1000,2,0)
添加图片注释,不超过 140 字(可选)