将Excel公式转换为VBA-反向查找,多个条件和INDEX-MATCH

时间:2018-08-08 15:15:13

标签: excel vba

请参阅先前发布的问题,网址为 Unable to use SUBSTITUTE(ADDRESS(MATCH))) combination as a range in a LOOKUP function in Excel

我建议该Excel公式使用Scott Craner的反向查找来标识一个值,并且可以:

=LOOKUP(2,1/((A:A=2018)*(B:B=31)),INDEX(A:AAA,0,MATCH("Employee2",1:1,0)))

在这种情况下,答案是数字15。

我想使用以下命令将其转换为VBA代码语句:

Dim i as Integer

i = Application.WorksheetFunction.Lookup(2, 1 / ((Range("A:A") = 2018) * (Range("B:B") = 31)), 
Application.WorksheetFunction.Index(Range("A:AAA"), 0, 
Application.WorksheetFunction.Match("Employee2", Range("1:1"), 0)))

它显示“运行时错误'13':类型不匹配”。

有人可以帮我弄清楚我做错了什么-将Excel公式转换为VBA?

谢谢您的帮助。

0 个答案:

没有答案