Excel: vlookup函数简介、使用注意事项及查找结果显示#N/A的解决方法

news/2024/7/21 4:10:57 标签: excel

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_arrayLookup_value放置于同一个工作表中,但多数情况下,由于Table_array数据过大,此时是在两个独立的工作表中进行查找,完成查找后,再次打开excel时会出现图4的提示内容,是否需要根据外部内容进行查找数据的更新,若数据量过大,选择更新就会很耗时,非常挑战耐心。
在这里插入图片描述
图4 外部链接更新提示

解决办法有二:

  1. 将查找值复制,粘贴为数值格式;
  2. 文件——选项——高级——取消勾选“请求自动更新链接”
    在这里插入图片描述
    图5 取消“请求自动更新链接”

vlookup函数——查找结果显示“#N/A”

显示“#N/A”的原因

  1. 被查找区域中确实不存在查找值
  2. 查找值或被查找区域数据格式不相同;
  3. 数据源引用错误,即要保证查找区域的首列必须含有被查找值
  4. 查找区域未进行绝对引用
  5. 查找值或被查找区域中包含空格
  6. 查找值或被查找区域中包含非打印字符(如空格);

解决方法
已有文章完美解决上述出现的问题,感谢大佬,详见链接:

  1. WPS表格函数——vlookup出现错误的四种情况及解决办法
  2. VLOOKUP查询时为什么会出现 N/A?
  3. Excel Trim函数使用方法,含用三个去空格函数都删不了的空格实例

总结首先在输入数据过程中要保证格式,数据源正确;其次学会使用trim(),substitute(),clean()函数去除空格和非打印字符;最后利用code(mid())查询空格代码,并利用“替换”功能将其去除。


http://www.niftyadmin.cn/n/1397846.html

相关文章

Excel: 批量去除空格的函数——trim函数, substitute函数,clean函数

可分别利用trim(),substitute(),clean()函数实现: trim(): 去除单词之间的单个空格,清除文本中所有的空格,可应用于从其他地址获取的不规则空白文本; substitute(): 在某一文本字符串中替换指定的文本; cl…

Origin: 使用copy page功能粘贴图形至word的比例失调问题

使用copy page功能粘贴图形至word后的比例失调问题 版本 OriginPro 2021 (学习版) 问题 使用CopyPage命令复制origin中的图片并在Word中粘贴后,两个软件中设置的大小(如图1,图2)不一致,导致word中图片中字体大小与…

Origin: 饼图标签重叠及移动问题

在利用origin绘制饼图时,当分类过多,标签过长,则可能导致标签重叠,如图1: 图1 标签重叠 解决方法: (1)上例分组过多,可将百分比小于一定比例的组别(如百分比…

R:xlsx/rJava无法加载的解决方法——java安装及版本查询

在使用R绘制图形时,载入“xlsx”包,出现以下报错信息: 报错: library(xlsx) Error: package or namespace load failed for ‘xlsx’: loadNamespace()里算’rJava’时.onLoad失败了,详细内容: 调用: …

R: Error in hclust(d, method = method) : 外接函数调用时不能有NA/NaN/Inf(arg10)

使用R的pheatmap包绘制热图时,会遇到很多缺失值的情况,此时需要对其进行去除或替换处理,但利用“is.na()”发现一直报错: Error in hclust(d, method method) : 外接函数调用时不能有NA/NaN/Inf(arg10)折腾了许久,后…

R: Error in FUN(left, right) : 二进列运算符中有非数值参数

将数据导入R后&#xff0c;用以下代码将数据从字符串转换为数值&#xff0c;在笔者自己电脑上运行以下代码报错&#xff0c;而另外一台电脑运行正常。 rownames(data1) data1[,1] data1 <- data1[,-1] data1 <- as.matrix(data1)报错内容&#xff1a; Error in FUN(le…

R:数据框索引报错“unexpected token”

目的&#xff1a;练习使用prcomp函数进行PCA分析 数据集&#xff1a;R自带iris数据集 报错内容&#xff1a;在利用数据框索引去除iris数据集中的“species”一列时&#xff0c;一直报错&#xff0c;内容如下&#xff1a; > iris_data <- [,-5] 错误: 意外的[ in "…

R:报错“Error in gzfile(file, “wb“) : 无法打开链结”,“‘x‘ must be numeric”及中文路径下利用dev.new()绘图

目的&#xff1a;利用R绘制分布图形 利用以下代码绘制密度分布图时&#xff0c;报错如下&#xff1a; iris_data <- iris[,-5] #新的数据集iris_data iris_PCA <- prcomp(iris_data, center T, scale T, retx T) plot(density(iris_PCA)) #iris_PCA为进行主成分分析…