实在找不到,我还在旁边手工输入了个例子,结果能查找到,可我真正有用的数据,弄一晚上了,纳了闷了!用模糊查找可以找到,但是提取出来的数据都是第一行的数据,后面所有返回的数据都是第一行的,见鬼了!
H列是结果输出列,要在E列中找出所有的G列数据,并返回B列的值。上面是两张图,最后一个参数如果是0的话是查不到的,设置的1,可以查到,但是向下拖拽返回的数据是一样的!
帮忙看看,谢谢了!
...收起
看了你上的图,才知道你对VLOOKUP函数完全不理解,我给你一个链接先去学习一下这个函数的视频
http://office.microsoft.com/zh-cn/excel-help/RZ101862716.aspx?section=3
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
如果函数 VLOOKUP 找不到 lookup_value,且 range_lookup 为 TRUE,则使用小于等于 lookup_value 的最大值。
如果 lookup_value 小于 table_array 第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。
如果函数 VLOOKUP 找不到 lookup_value 且 range_lookup 为 FALSE,函数 VLOOKUP 返回错误值 #N/A。
在你写的公式中
Table_array 的作为查找数据的数据表第一列应为Lookup_value可查找的首列,可你公式中完全不是 ,你是用A列作为首列,与你说明的是用E列作为首列完全不同
col_index_num 这个参数,指的是从查找数据的数据表首列开始数返回第某列的值
你公式中写的是2,查找区域是A:E,那么返回值的列就是从A列开始数过来的第二列即B列的对应值
用TRUE为参数是近似匹配,用FALSE作参数是精确匹配
所以完全不是自已设置公式所要的目的
按你上的图,H1单元格应写入公式
=INDEX(B:B,MATCH(G1,E:E,))
或如果一定要用VLOOKP函数,则公式为
=VLOOKUP(G1,IF({1,0},E$1:E$1000,B$1:B$1000),2,) 如果数据不只1000行请自行扩大公式的引用区域
下拉填充公式