永发信息网

为什么我用系统导出来的数据 用VLOOKUP这个函数 不行的呢 公式没有错啊 单元格格式也是设为数值啊

答案:2  悬赏:20  手机版
解决时间 2021-12-24 05:10
  • 提问者网友:几叶到寒
  • 2021-12-23 14:59
公式是这样=VLOOKUP(A2,Sheet1!A3:B38,2,FALSE) 但是我自己人手输入的数据 用VLOOKUP这个函数公式做匹配又可以 求解啊。。。
最佳答案
  • 五星知识达人网友:慢性怪人
  • 2021-12-23 16:39
公式格式是对的,意思就是以A2的值在SHEET1!A3:B38中以精确方式查找,并返回对应的B列的数值。
现在问题中说确认单元格格式也是为数值,那就先排除格式的原因,估计因为是系统导出来的数据,可能在导在的过程中存在一些不可见的字符,如空格或是换行符号等都是不可见的,可以试试把公式改为如下这样:

重点注意:A2的值必须要存在于查找区域的第一列,如本例中Sheet1!A3:B38 ,那么A2的值必须要存在于Sheet1工作表的A列中,即Sheet1!A3:A38 这个区域中,否则公式返回 #N/A 错误值。

=VLOOKUP(CLEAN(TRIm(A2)),CLEAN(TRIm(Sheet1!A3:B38)),2,)

还是不行的,再来彻底一点的,改为这样:
=VLOOKUP(SUBSTITUTE(CLEAN(TRIm(A2))," ",),SUBSTITUTE(CLEAN(TRIm(Sheet1!A3:B38))," ",),2,)

以上的公式修改后都变为数组公式,输入完成后不要直接回车,要按三键 CTRL+SHIFT+回车 结束。

如果经过以上的修改后,如果公式能用的,说明问题中的数据导时,必定是有不可见字符的。
全部回答
  • 1楼网友:荒野風
  • 2021-12-23 17:51
第一参数是指定一个单元格值,代表要查找的内容,这也是最规范的用法。 若第一参数指定为一整列或一列部分区域,这种用法虽然有时也能得到结果,但并不是规范的格式。之所以能得到结果,其实是因为vlookup在运行时,自动获取了此列中与公式同一行的单元格的值作为第一参数。也就是说,你人为规定了第一参数为一个整列或一列的部分区域,但vlookup函数并不买账,在运行时还是偷偷的把它换成了一个单元格值。我们可以做一个实验进行检验,a2:a10为考试分数,b2:b10里准备判定等级。(d2:e5为评分标准) b2里输入公式: =vlookup(a2:a10,d2:e5,2,1) 这个是肯定会有正确结果的。 b3里输入公式: =vlookup(a2:a10,d2:e5,2,1) 这个结果也肯定是正确的。 以上两个公式,在运行时,vlookup能够从a2:a10区域中获取与b2,b3相对应的同一行的a2,a3单元格的值,作为要查找的内容。 但是如果在b3单元格里输入以下公式: =vlookup(a4:a10,d2:e5,2,1) 结果将会出错。因为在这种情况下,你指定的第一参数是a4:a10区域,vlookup将无法获取与b3同一行的a3单元格的值作为第一参数,所以查找失败!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯