【问题标题】:How to use vlookup function where lookup table array is dynamic?如何在查找表数组是动态的情况下使用 vlookup 函数?
【发布时间】:2019-07-12 16:31:21
【问题描述】:

如何在查找表数组是动态的情况下使用 vlookup 函数?我找到需要使用 MATCH 函数查找值的列。您能否建议如何将来自 MATCH 的整数值放入查找数组函数中。

【问题讨论】:

  • 您可以使用间接函数。使用 InDirect 函数中的变量构造地址。

标签: excel vba excel-formula


【解决方案1】:

我不确定这是否就是您要问的全部内容,但如果您要尝试匹配列,则可以只包含电子表格的整个范围。或者您可以使用索引函数来调整大小。很多选择。

为了直接回答您的问题,这里有一个动态的 vlookup,它将包括任何可能的行(因为它一直延伸到电子表格的底部),并使用 Match 来查找列标题 DONKEY。不是很优雅,但它会让你开始。在这种情况下,公式将返回 49。

如果你想要,这里是公式:=VLOOKUP("California",$I$5:$XFD$1048576,MATCH("Donkey",i4:$XFD$4,0),0)

更新不知何故,上面的答案得到了两个赞,所以我将通过解释Index Function 可能是比 Vlookup 更好的方法来做出更大的努力来增强这个答案。公式如下所示:=INDEX(J5:M7,MATCH("Cobra Kia",I5:I7,0),MATCH("Donkey",J4:M4,0),1)

此外,OP 标记了VBA,尽管它似乎不需要这样做。但是,如果使用 VBA 并尝试进行 MATCH,请始终使用 Application.Match 方法,即使它不会像 Application.WorksheetFunction.Match 那样自动填充。我也写过in this answer...(仍然不如我的SHA256!)

【讨论】:

  • 抱歉第一个屏幕截图有误。我开始给出一个索引答案。
  • 我也肯定会给出索引函数作为替代!
  • @JvdV 完成!我不知道这个答案比我几乎整天花在这个答案上的点赞数更多……stackoverflow.com/questions/46509572/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-03
  • 2015-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-03
  • 1970-01-01
相关资源
最近更新 更多