1.区域选定的时候,未锁定区域
明明有A却查找不到,这是因为选定区域的时候没有加$锁定,导致下拉公式的时候,区域由A2:A3变成A3:A4,选中公式里的A2:A3,按F4锁定,或者直接整列引用即可
区域锁定:
整列引用:
2.选定的查找区域的第一列不是查找值所在的列
正确如下,B列是学号所在的列,处于B:C区域的第一列,返回C列的分数,从B列开始数,返回第2列的分数
3.查找值的格式问题
正确如下
注意统一两边的格式,如果A列既存在文本又存在数值,通过"数据" - "分列"功能全部变文本或者全部变数值
4.存在不可见字符的情况
明明看着数据一样,格式也都是文本格式,也还是查找不到,这是因为首部或者尾部有不可见字符,比如空格,水平制表符,换行符等等不可见的内容
可以通过"数据" - "分列"功能尝试去除,WPS用户可以直接选择,点清空前后字符串清除
5.有通配符影响(常见的三个通配符"?"、"*"、"~")
想找到A*B的数量,为什么查找到的是A*BB的数量25,这是因为A*B里的"*"被公式认为通配符
想正确查找就把"*"替换成"~*","~"代表转义的意思,把通配符"*"转成公式认识的"*",如下
如果遇到带"?"和"~",同样的替换成"~?","~~"
6.返回的列数不对,出现#REF错误
有时候大家在数返回第几列的时候,也习惯从A列开始数有几列,像下面的公式一样,从A列开始数,到C列是3列
实际不是从A列开始数返回第几列,而是从你选定的查找区域开始数,公式里选定的查找区域是B:C,从B列数到C列,一共2列,所以返回第2列,而不是第3列
7.返回的方向有误
如下,想通过学号查找到姓名列,你选中了A:B列,但是A列并不含有学号,而且返回的方向也不对,姓名列在学号列的左边,而VLOOKUP的返回方向是从左到右
正确的如下:
借助if({1,0}的方式给A列和B列换个位置
这里因为是数组公式,需要按CTRL+SHIFT+ENTER,直接回车会出现错误,建议选定区域,而不是整列引用,毕竟数组公式数据多的情况下还是运行比较慢的
或者可以换成INDEX+MATCH方式查找
WPS用户或者OFFICE365用户也可以使用XLOOKUP
8.数据不存在的情况
查找序号003的分数,返回#N/A错误,我们可以加IFNA容错,意思是如果出现#N/A错误,就返回"",只针对这一种错误,如果有其他错误,可以用IFERROR公式
WPS用户和OFFICE365用户也可以使用XLOOKUP容错,第4个参数代表不存在就返回""
9.还有一种就是公式内部出现#REF错误
这是因为公式引用的范围,被你手动删除了,所以在删除内容的时候,尽量用选中,然后按Delete的方式清空内容,而不是直接删除被引用的列,不然公式内部出现错误,再修改也麻烦
10.文件格式的问题导致引用范围超出本工作簿的范围
当我们在格式为.xls的excel文件里写公式,去整列引用.xlsx格式的excel文件的时候会出现以下提示
因为.xls文件的行数只有65536行,而.xlsx文件的行数有1048576行,整列引用的话装不下100多万行,所以改为区域引用,或者把.xls文件另存为.xlsx格式文件再整列引用
11.使用公式的时候没有用精确匹配模式
VLOOKUP函数的第4参数(1和0),0代表精确匹配,1代表模糊匹配,如果没写第4参数就是模糊匹配,一样查找不到想要的数据,如下
所以必须加第4参数,第4参数的0可以不写,但是必须加个",",或者也有人习惯写FALSE,也是一样
12.VLOOKUP函数不区分大小写
想查找a-001-c1,怎么会找到A-001-c1,百思不得其解,原来是因为VLOOKUP不区分字母大小写,可以用前面说到过的EXACT函数来区分,公式如下,数组公式,按CTRL+SHIFT+ENTER
或者可以用LOOKUP函数
13.多条件查找数组公式,忘记三键(CTRL+SHIFT+ENTER)
数组公式一定要三键