Excel:vlookup函数简介、使⽤注意事项及查结果显⽰#NA的解决⽅法vlookup函数介绍
在⽇常使⽤excel办公时,若出现⼤量数据需要匹配,或多个⼯作表之间的数据核对、查询及汇总时,vlookup函数就排上⽤场了,该函数的主要功能为按列查,与之对应的是hlookup(按⾏查)。
此处以vlookup函数的使⽤为例,其语法规则为:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
其中,
Lookup_value:需要查的值。Lookup_value 可以为数值、引⽤或⽂本字符串。
Table_array:被查的数据区域。
Col_index_num:返回数据在被查区域的第⼏列,为整数。
注:若该值⼩于1,函数 VLOOKUP 返回错误值 #VALUE!;⼤于 table_array 的列数,函数 VLOOKUP 返回错误值#REF!。
Range_lookup:为⼀逻辑值,如果为FALSE或0,则返回精确匹配,如果不到,则返回错误值 #N/A。
如果为TRUE或1,函数VLOOKUP 将查近似匹配值,若不到精确匹配值,则返回⼩于 lookup_value 的最⼤数值。
注:应注意VLOOKUP函数在进⾏近似匹配时的查规则是从第⼀个数据开始匹配,没有匹配到⼀样的值就继续与下⼀个值进⾏匹配,直到遇到⼤于查值的值,此时返回上⼀个数据(近似匹配时应对查值所在列进⾏升序排列)。如果range_lookup 省略,则默认为1。
结合图1的输⼊显⽰进⾏理解:
图1 vlookup函数的输⼊显⽰
vlookup函数——数据举例
如图2,A-C列为原本的数值列表,F-H列为被查区域,现需要以CAS号为"look_value"从F-H列查并将classfication返回到D列,输⼊公式:
=vlookup(C3,G2:H2,2,0)
回车即可,由于下列每个物质均是按照类似的⽅法进⾏查询,故直接按下D3表格右侧的“+”符合下拉填充即可,如图3。
图2 vlookup函数输⼊
图3 vlookup函数调⽤结果
vlookup函数——注意事项
以上述应⽤为例,在利⽤vlookup函数语法进⾏输⼊时,需注意以下⼏点:
被查区域 table_array的第⼀列应与被查值 lookup_value格式与字段相同,如均为字符或数字等,否则即使看起来⼀样的数值也会报“#N/A”;
当数据过多,需要使⽤向下填充⽅式完成引⽤时,建议使⽤绝对引⽤的⽅式,上述例⼦的输⼊⽅式可改为:
=VLOOKUP(C3,$G$2: $H$42,2,0)
上述添加了⼀个固定符号,其作⽤是固定区域或固定数值不变,如始终以C3为被查参数,则将“C3”改为“$C3”即可保证复制,下拉填充过程中都不改变该查值。
Col_index_num值应从被查区域的第⼀列开始计算,即查区域的⾸列必须含有被查值。如上例,返回值classfication在G-H列的第2列,故此处应输⼊2。
vlookup函数——取消更新链接
上述例⼦中,笔者将Table_array与Lookup_value放置于同⼀个⼯作表中,但多数情况下,由于Table_array数据过⼤,此时是在两个独⽴的⼯作表中进⾏查,完成查后,再次打开excel时会出现图4的提⽰内容,是否需要根据外部内容进⾏查数据的更新,若数据量过⼤,选择更新就会很耗时,⾮常挑战耐⼼。
图4 外部链接更新提⽰
解决办法有⼆:
1. 将查值复制,粘贴为数值格式;
2. ⽂件——选项——⾼级——取消勾选“请求⾃动更新链接”
图5 取消“请求⾃动更新链接”
lookup函数查不正确vlookup函数——查结果显⽰“#N/A”
显⽰“#N/A”的原因:
1. 被查区域中确实不存在查值;
2. 查值或被查区域数据格式不相同;
3. 数据源引⽤错误,即要保证查区域的⾸列必须含有被查值;
4. 查区域未进⾏绝对引⽤;
5. 查值或被查区域中包含空格;
6. 查值或被查区域中包含⾮打印字符(如空格);
解决⽅法:
已有⽂章完美解决上述出现的问题,感谢⼤佬,详见链接:
1.
2.
3.
总结,⾸先在输⼊数据过程中要保证格式,数据源正确;其次学会使⽤trim(),substitute(),clean()函数去除空格和⾮打印字符;最后利⽤code(mid())查询空格代码,并利⽤“替换”功能将其去除。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。