【发布时间】:2019-09-20 14:04:10
【问题描述】:
我在单元格 A1 中有公式 VLOOKUP(A2;Table3[#All];3;FALSE)。我正在努力寻找一种方法来输出 B1 中上一个公式的结果。
显然,您可以使用只能通过 VBA 访问的“评估”函数来计算文本公式,如下所示:
Function Eval(Ref As String)
Application.Volatile
Eval = Evaluate(Ref)
End Function
然后您可以在工作表中的任何位置调用它,例如,如果您在单元格 A1 中输入 1+2,在单元格 B1 中输入 =Eval(A1),您会在 B1 中得到输出 3。所以在这种情况下它可以正常工作!
但是
我发现 Evaluate 不适用于包含函数的文本(例如我上面的 Vlookup 公式)。
例如,如果您将 Eval(A1) 放入 A2(其中 'Eval' 本身是一个函数),然后将 =Eval(A2) 放入 B2,您会得到“#VALUE”。
与上述公式的输出相同。
有人知道如何计算如下文本公式:VLOOKUP(A2;Table3[#All];3;FALSE)(无需在公式前手动添加“=”)吗?
谢谢!
【问题讨论】:
-
尝试在 VLOOKUP 中将所有
;更改为,。 -
或者使用 SUBSTITUTE 将所有的
;更改为,和Eval结果。 -
我不确定是否记录在更权威的地方,但似乎您需要使用
,作为Evaluate的参数分隔符,无论您的本地设置如何(尽管我可以不要测试自己)。 -
@BigBen OMG 非常感谢它确实有效! (即使在公式中使用
,通常在我的法国办公室里从来没有用过)你救了我的命!!
标签: excel excel-formula vlookup evaluate