EXCEL VBA或函数VLoopup - 基于多个条件来查找值

时间:2015-05-07 13:51:52

标签: excel-vba indexing match criteria vlookup

我希望Vlookup使用两个标准:

  1. D列中的值;
  2. A列和G列中可以近似匹配的数量。
  3. 普通的Vlookup只返回第一行的值,因此我想到的一个解决方案是匹配发票号和大概匹配金额。

    我不确定它是否是最好的解决方案,请告知更好的解决方案,不一定在VBA中,它也可以使用INDEX或MATCH功能等。 非常感谢提前!

    Vlookup based on Multiple Criteria

    下面是我尝试过的公式,它就像是如果是真的,那么这个值,如果是假的,那么查找下一个.... 但是我还在考虑如何通过Vlookup浏览以搜索下一个值,我是否需要使用VBA来解决这个问题?! http://example.com/some-bogus-thing

    enter image description here

1 个答案:

答案 0 :(得分:0)

以下公式应该有效:

=INDEX(G3:G5,SUMPRODUCT(MAX((D3:D5=B3)*ROW(D3:D5)))-3,1)

这只是Index(Match)的一个更高级的版本,用作vlookup的常见替代品。在这种情况下,我们使用Sumproduct代替Match来获取我们正在寻找的标准的最大行。

已添加:向-3的第二个参数添加了INDEX,以便将Row()调整为返回到{{1}的实际范围}}。