使用Vookup函数总是出现错误值?盘点那些你一定踩过的坑
goqiw 2024-10-26 11:04:57 技术教程 26 ℃ 0 评论
Vlookup函数是一个使用频率很高的查找匹配函数。但是为什么有时明明用检查窗口可以查询到的数据,vlookup函数却实现错误值?这篇文章就和朋友们一起盘点那些你一定踩过的坑。
一.VLOOKUP简介:
1.语法:VLOOKUP(查找值,查找区域,返回查找区域第N列,查找模式)
2.各参数意义:
(1)查找值可以理解为第我们要查找什么,可以使用通配符。
(2)查找区域就是我们要在哪个区域查找查找值。
(3)在查找区域找到查找值所在的行数后,第三个参数需要明确返回的数据在查找区域的第几列。行和列都确定后就可以提取对应的数据、返回查找结果。
(4)查找模式分为精确查找和近似查找,最后一个参数如果省略则默认近似查找。
二.VLOOKUP函数出现错误值的可能原因:
1.查找区域没有绝对引用:
(1)原因:在G2单元格输入公式=VLOOKUP(F2,A2:C17,2,0)向下填充,当公式填充到G5单元格时已经变成了=VLOOKUP(F4,A4:C19,2,0)。然而孙念祖对应的信息在A2:C2单元格区域,所以会导致错误值的出现。
(2)解决方法:只需要将G2单元格中的公式修改为=VLOOKUP(F2,$A$2:$C$17,2,0)、绝对引用查找区域向下填充就可以轻松搞定。
(1)说明:LEFT、RIGTH、MID等字符串处理函数返回的结果是数字,那么数字的数据类型都是文本型数字。文本型数字和数值型数字虽然表面看起来一样,实则有本质区别。
(2)原因:如果直接在G2单元格输入公式=VLOOKUP(LEFT(F2,3),$A$1:$D$17,3,0)、用LEFT函数来截取F2单元格内容作为VLOOKUP函数的查找值,那会就会返回错误值。这是因为LEFT返回返回的结果为文本型数字,其与数值型数字有本质的区别。
(3)解决方法:将G2单元格的公式修改为=VLOOKUP(--LEFT(F2,3),$A$1:$D$17,3,0)就可以正确的得出结果。双负号可以将文本型数字转化成数值型数字,+0、-0、/1、*1等操作都可以实现文本型数字到数值型数字的转化。
(2)原因:如果想要查找销售部何光宗的籍贯,在G2单元格输入公式=VLOOKUP(F2,A2:D16,3,0)返回的结果是“黑龙江省”,是综合部何光宗对应的信息。这是因为VLOOKUP函数从上向下的查找特性。
=VLOOKUP(F2&G2,IF({1,0},A2:A16&B2:B16,C2:C16),2,0)
②公式解析:IF({1,0},A2:A16&B2:B16,C2:C16)构造了一个姓名与部门合并在前、籍贯在后组成的数组。用构造的数组作为VLOOKUP函数的查找区域就可以得到正确的结果。下方有对这个数组的动态演示。
本文暂时没有评论,来添加一个吧(●'◡'●)