哪位大神帮我看看我的vlookup查找错误,是哪的问题?
发布网友
发布时间:2022-04-30 23:26
我来回答
共5个回答
热心网友
时间:2022-06-20 09:33
VLOOKUP函数在学习一下,函数的要求中第二参数区域中的第一列必须包含第一参数,即本题的"名录!A:A"中必须要含有"C7",你图示中"C7"是公司名,而"名录!A:A"中全部是公司代码,所以错了,你要的结果是在B列中查找,返回A列值,而VLOOKUP也不支持反向查询,只能在最左侧的列查找值,然后返回右侧的值,本题中返回的值在查找值左侧,所以需要重新构建数据区域。
可是使用下面公式:
=VLOOKUP($C7,IF({1,0},名录!$B:$B,名录!$A:$A),2,0)
或者
=LOOKUP(1,0/(名录!$B:$B=$C$7),$A:$A)
热心网友
时间:2022-06-20 09:33
vlookup函数使用错误,
没有理解vlookup函数的定义,
vlookup(查找值,区域,区域内的指定列,匹配类型)
其中:查找值 必须位于 区域 的第一列,
匹配类型0就是精确匹配。
也就是只能从区域的左边往右边查找。不能逆向查找。
本题就是逆向查找,可以用lookup函数的精确查找功能,
lookup(1,0/(名录!B:B=$C$7),名录!A:A)
如有需要可以继续交流!
热心网友
时间:2022-06-20 09:34
问题出在1,0这里。第二个参数的范围中第一列是你所要找的目标(C7)所在的列,你填的A:AU,即在A列里找C7。
第三个参数是从你查找的列(A)开始返回第几列的同行的值,注意是从查找的列开始数,你填的1,表示在A列里找C7,这不还是C7么?你图里的意思是要返回B列的值,从A列开始数B列是第二列,所以你得填2。
公式应该改为=VLOOKUP($C7,名录!$A:$AU,2,0)
热心网友
时间:2022-06-20 09:34
VLOOKUP规则
在第二个参数的范围的第一列查找(这个第一列是函数规定的),在第一列中查找参数1的值,如果有返回对应第N列(参数3)的值。
=VLOOKUP($C7,名录!$A:$AU,1,0)
所以你的函数的意思就是在名录表A:AU范围的第一列,也就是A列中查找C7的值,如果有返回A列(参数3,第1列)的值。
现在实际情况是要在B列中查找,返回A的值。
可以用
=INDEX(名录!A:A,MATCH(C7,名录!B:B,0))
如果一定要用VLOOKUP
=VLOOKUP(C7,IF({1,0},名录!B:B,名录!A:A),2,0)
其中IF({1,0},名录!B:B,名录!A:A),生成一个B列为第1列,A列为第2列的内存数组。
热心网友
时间:2022-06-20 09:35
VLOOKUP函数要查找的值必须要第一列,你把名录的AB列调换就可以了。