龙空技术网

excel的vlookup函数经常引用错误,让我告诉你原因,迅速脱离误区

Excel职场必学 1730

前言:

当前姐妹们对“javaexcel导入重复记录报错”都比较看重,姐妹们都需要了解一些“javaexcel导入重复记录报错”的相关知识。那么小编同时在网络上收集了一些有关“javaexcel导入重复记录报错””的相关知识,希望各位老铁们能喜欢,你们快快来了解一下吧!

为什么我的vlookup所有参数都按要求输入正确,结果却还是错误。

一、第二参数没有 绝对引用,数据区域会偏移,导致数据区域错误。

i2 单元格是VLOOKUP(H2,B2:F8,5,0),到 i5 单元 格变成了VLOOKUP(H5,B5:F11,5,0),数据 区域从B2:F8变成了B5:F11,导致数据错误。

图1:没有绝对引用,错误案例

i2 单元格的正确函数写法应该是=VLOOKUP(H2,$B$2:$F$8,5,0),加上$这个符号表示已经绝对引 用,数据区域被锁定在这块范围,不会发生偏移。鼠标选中B2:F8数字后按快捷键F4可以切换到绝 对引用。

图2:数据区域加了绝对引用,结果显示正确

二、数据区域的绝对引用也加了,为什么还错了,可能是第三参数的第几列写错了。

i3 单元格输入=VLOOKUP(H3,$B$3:$F$9,4,0),第三参数应该写5,不应该写4因为D列被隐藏 了,表面看只有4列,其实隐藏列也被包含在内,所以籍贯列是排在第5列。

图3:数据区域有隐藏列,也要算列数,错误案例

i3单元格函数正确写法=VLOOKUP(H3,$B$3:$F$9,5,0)

图4:第3参数要算上隐藏列,正确案例

三、要会区分文本型数值和数字型数值,表面数字虽然一样,其实类型不同。

H4单元格的0367是属于文本型数值,A4单元格的0367属于数字型数值,函数公式会把它们当做 两个不一样的内容,所以无法匹配。H6单元格同理。

图5:不区分文本型数值和数字型数值,导致结果错误,错误案例

在 i2单元格里输入=VLOOKUP(H2*1,$A$2:$B$8,2,0),H2*1的意思是H2单元格的数字乘以1,这 样文本型数值也会变成数字型数值。

图6:正确案例

四、数据区域的首列不能出现重复值,不然引用结果会不准确。

A3和A7都是数字1276,A3对应小张,A7对应小白。H7和H8都是1276,引用结果都是小张。 当首列出现重复值时,引用结果只能出现一个,这是VLOOKUP的查找唯一性。

图7:错误案例

五、省略函数第4个参数导致结果错误。

第4个参数的TRUE是模糊查找,用1表示;FALSE是精确查找,用0表示;这个参数不能省略,如果省略默认为1,但是我们匹配数据都要精确查找,输入0。

图8:省略第4个参数,错误案例

六、查找值存在空格也会导致结果错误。

H4小张和H6小丁前面有空单元格,B列的姓名都是没有空格的,所以无法识别。要删除空格后再 用函数。

图9:带空格和不带空格是属于不同的内容,错误案例

七、查找值的内容不在区域首列也是会导致结果错误的。

数据区域A列工号排在B列姓名的前面时,想用“姓名”去匹配“工号”是不行的。

图10:错误案例

这种情况要想引用成功,第一种方法是在姓名的后面添加一列,把工号列的内容复制过去; 第二种方法是利用 if的逆向查找功能, 在 i2单元格里输入 =VLOOKUP(H2,IF({1,0},$B$2:$B$8,$A$2:$A$8),2,0),最后按CTRL+Shift+回 车,因为这时是数组函数。

最后引用结果 i2 和 i5是3位数,前面的0没有了,鼠标右键设置单元格格式。

图11:配合 if 函数的逆向查找功能,正确案例

如果有什么地方未讲清楚的,欢迎小伙伴留言提问!

标签: #javaexcel导入重复记录报错