首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VLookup的VLookup

VLookup的VLookup
EN

Stack Overflow用户
提问于 2015-09-16 16:42:37
回答 2查看 1.8K关注 0票数 1

所有单次使用的VLOOKUP公式都能很好地工作,但下面的公式是嵌套的VLOOKUP,总是失败。

代码语言:javascript
复制
=VLOOKUP(VLOOKUP(V2,PRAISe,2,FALSE)-VLOOKUP(D2,PRAISe,2,FALSE),Progress,2,FALSE)

当我一步一步地思考这个公式时,嵌套的VLOOKUPS工作得很好,并且可以解析为正确的小数值。当顶级vlookup搜索该十进制值时,我总是得到一个没有找到值的错误。

查找范围如下:

代码语言:javascript
复制
  PRAISE Lookup
    1-  1.20
    1+  1.80
    1=  1.50
    2-  2.20
    2+  2.80
    2=  2.50
    etc. etc.


   Grade Lookup
    1.20    1-
    1.50    1=
    1.80    1+
    2.20    2-
    2.50    2=
    2.80    2+
    etc. etc.

    Progress    
    0.00    0
    0.30    1
    0.60    2
    0.90    3
    1.20    4
    etc. etc.

我试过的东西。

起初,我认为这是由于小数位和精确匹配问题,所以我将所有结果乘以10,所以我只处理整数。不幸的是,我得到了同样的结果。

我还尝试将公式分成两列。同样,减法工作并解析为十进制数。但是,当我随后尝试将该数字作为单独的语句进行查找时,它仍然失败。

EN

回答 2

Stack Overflow用户

发布于 2015-09-16 18:12:57

这可能是由于数字存储在Excel中的方式所致。如果您舍入减法或使用TRUE作为外部查找中的最后一个参数,则公式似乎有效。为了截图,我把V2改成了A2。

=VLOOKUP(ROUND(VLOOKUP(A2,Praise,2,FALSE),-VLOOKUP(D2,Praise,2,FALSE),1),Progress,2,FALSE) =VLOOKUP(VLOOKUP(A2,Praise,2,FALSE)-VLOOKUP(D2,Praise,2,FALSE),Progress,2,TRUE)

但有些组合中VLookup的减法在进度表中并不完全匹配,例如,2+返回2.8,1-返回1.2。减法的结果是1.6,Progress表中具有FALSE的Vlookup将返回错误,而最后一个参数为TRUE的vlookup将返回下一个最小的匹配项。

因此,请检查V2和D2单元格中未找到的组合,并确定是否可以避免舍入,或者是否需要在外部查找中使用TRUE。

票数 1
EN

Stack Overflow用户

发布于 2017-07-20 15:39:44

你是不是漏掉了一些括号,以便让公式清楚你想要的操作顺序?

代码语言:javascript
复制
=VLOOKUP((VLOOKUP(V2,PRAISe,2,FALSE))-(VLOOKUP(D2,PRAISe,2,FALSE)),Progress,2,FALSE)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32603629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档