EXCEL函数VLOOKUP返回值是#NA

(单元格格式已经全部设置为常规了。两张表格A&B列的单元格长度也都用LEN检验过了一致)如图,第一张图是最终要得到结果的表,但是返回值都是#NA,除了一个单元格神奇的出现了正确的数据(如第三张图。)第二张图是数据源。公式:VLOOKUP(A4&B4,IF({1,0},Sheet5!$A$2:$A$4&Sheet5!$B$4:$B$102,Sheet5!$C$4:$C$102),2,)最后也三键录入了。怎么解决出现#NA的问题?

你公式中

Sheet5!$A$2:$A$4&Sheet5!$B$4:$B$102,Sheet5!$C$4:$C$102

这个明显数组高度是不一致的呀,前面是2~4,后面都是4~102呢。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-14
VLOOKUP是数据抓取的函数
你的图里面看不出SHEET5什么的。
源数据表的图,现在要抓取数据到哪里的图,这样才能对照着看的。追问

已修改。
图2就是sheet5,数据源的表。

追答

VLOOKUP是按列抓取数据的函数
VLOOKUP(要查找的值,要查找的区域,返回数据在查找区域的第几列数,模糊匹配/精确匹配),如果你是要按证券代码查,返回的是期初数
要查找的值:一般就是A4,按证券代码查
要查找的区域:(A4:C300),300是随意的,可以根据你的表格写
返回数据在查找区域的第几列数:3
模糊匹配/精确匹配:0,完整寻找。也可以定1,模糊查找
就是:
=VLOOKUP(A4,$A$4:$C$300,3,0)
你在图2中要抓取什么数据,意思不太明白

第2个回答  2019-03-14
=if(isna(vlookup(),"",vlookup())
嵌套一个if函数就可以了
追问:
就是这样,我知道是插入IF函数,但是我不会写语法。
追答:
你把你的vlookup公式贴出来我看看
我帮你嵌套进去
追问:
=VLOOKUP(A3:A21,Sheet2!A2:B22,2,0) 这是我的公式,我只是用插入-函数-VLOOKUP,然后出现一个框,选择的区域,因为自己写语法实在是不会。而且这只是表格的其中一个部分,还有成千上万个数据,客人又不给弄乱格式。所以麻烦你了
追答:
在sheet1的B2输入以下公式,下拉填充
=if(isna(VLOOKUP(A2,Sheet2!A:B,2,0)),"",VLOOKUP(A2,Sheet2!A:B,2,0))
第3个回答  2019-03-14
你的公式:
VLOOKUP(A4&B4,IF({1,0},Sheet5!$A$2:$A$4&Sheet5!$B$4:$B$102,Sheet5!$C$4:$C$102),2,)
中有一个错误,应该修改为:
VLOOKUP(A4&B4,IF({1,0},Sheet5!$A$4:$A$102&Sheet5!$B$4:$B$102,Sheet5!$C$4:$C$102),2,)
我修改了A2:A4为A4:A102,也就是和B、C列的行一致,这是必须的。
第4个回答  2019-03-14
=VLOOKUP(A4&B4,IF({1,0},Sheet5!$A$4:$A$102&Sheet5!$B$4:$B$102,Sheet5!$C$4:$C$102),2,0)本回答被提问者采纳