VLOOKUP函数的语法结构:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
lookup_value:需要查找值(两个表格中共有的数据)
table_array:查找的区域(选择整列)
col_index_num:返回数据在查找区域的第几列
range_lookup:匹配模式(0为精确查找,1为模糊查找)
如果遇到要查找的值是空的,这时候vlookup之后,空的这一个会变成0
可以在vlookup公式后面增加【&】和英文状态下的双引号
&""
这样vlookup之后,这一个就会留空,不会变成0
参考来源:https://baijiahao.baidu.com/s?id=1678890885536559408&wfr=spider&for=pc
vlookup公式,如果查找值和查找区域内的值类型不匹配,经常会查找不到。比如查找值为文本型数字,而查找区域内的值为数值型数字。
这个时候要不先把查找值和被查找值转换成一样的类型,或者在vlookup公式中转换
一、公式用法:
VLOOKUP(查找值,查找区域,返回查找区域第N列,查找模式)
1、如果查找值是数值型数字,而查找区域内的值也是数值型数字,直接用即可。
2、查找值为数值型数字,查找区域内的值为文本型数字,此时应该把查找值转换为文本型。
比如查找值在A1,用 A1&"" 将A1转换为文本型数字。
3、查找值为文本型数字,而查找区域内的值为数值型数字,此时把查找值转换为数值型。用--(微软office可以用,wps无法用--)或*1或+0等,都可以。
4、无论查找值为文本或数值,也不管查找区域内的值是文本或数值,一个公式全部完成:比如查找值为A1,区域为B2:E20,返回第3列。
IFERROR(VLOOKUP(--A1,$B$2:$E$20,3,0),IFERROR(VLOOKUP(A1&"",$B$2:$E$20,3,0),""))
二、公式说明:两层iferror嵌套。
①外层,绿色部分,先用--A1将A1转换为数值型,如果查找成功,返回第1个参数中的vlookup查找结果(即绿色部分的查找结果)。
②如果出现错误,执行内层的iferror。
③在第2层iferror中:
I、橙色部分,通过A1&""将A1转换为文本型,如果查找成功,返回橙色部分的查找结果。
II、如果查找错误,返回空值""。
IFERROR(VLOOKUP(--A1,$B$2:$E$20,3,0),IFERROR(VLOOKUP(A1&"",$B$2:$E$20,3,0),""))
三、执行情况分析:
①如果查找值为数值型,查找区域值也为数值型,因为绿色部分已经将A1转换为数值型,所以会返回绿色部分查找的结果。
②如果查找值为数值型,查找区域值为文本型,会执行内层的iferror,橙色部分将A1转换为文本型,从而返回橙色部分的查找结果。
③如果查找值为文本型,查找区域值为数值型,因为绿色部分已经将A1转换为数值型,所以会返回绿色部分查找的结果。
④如果查找值为文本型,查找区域值为文本型,会执行内层的iferror,橙色部分将A1转换为文本型,从而返回橙色部分的查找结果。
注: 在excel中,通过公式中的“公式求值”,可以很清楚地看到公式的执行过程。