excel - 将函数的文本公式转换为 'real' 公式

标签 excel excel-formula vlookup evaluate

单元格 A1 中有公式 VLOOKUP(A2;Table3[#All];3;FALSE)。我正在努力寻找一种方法来输出 B1 中上一个公式的结果。

显然,您可以使用只能通过 VBA 访问的函数“Evaluate”来计算文本公式,如下所示:

Function Eval(Ref As String)
Application.Volatile
Eval = Evaluate(Ref)
End Function

然后您就可以在工作表中的任何位置调用它,例如,如果您将 1+2 放入单元格 A1 中,将 =Eval(A1) 放入单元格 B1 中,您在 B1 中得到输出 3。所以在这种情况下效果很好!

enter image description here

当你“评估”一个简单的数字时也很有效: enter image description here

但是

我发现 Evaluate 不适用于包含函数的文本(如我上面的 Vlookup 公式)。

例如,如果您将 Eval(A1) 放入 A2(其中“Eval”本身就是一个函数),然后将 =Eval(A2) 放入 B2,您将得到“#值(value)”。 与上述公式相同的输出。

enter image description here

有人知道如何计算文本公式,例如:VLOOKUP(A2;Table3[#All];3;FALSE)(无需在公式前手动添加“=”)?

谢谢!

最佳答案

我不确定它是否记录在更权威的地方 - this link确实提到了它 - 但 Evaluate 需要逗号作为公式中的参数分隔符,无论您的本地设置如何。

VLOOKUP而言,要么将原始文本中的;更改为,,要么使用SUBSTITUTEEval 结果。

关于excel - 将函数的文本公式转换为 'real' 公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58029927/

相关文章:

excel - 多功能条件格式单元格范围

excel - 如何在 ClosedXML 中创建数据透视表的示例

c# - 使用 C# 构建 Excel 文件

Excel日期舍入计算

excel - 如何在excel中从不同列的列表中找到正确的ID号以与正确的单元格进行比较

google-sheets - 我想根据 google 表格中的其他两列值对第三列的值进行求和,并且 col1 和 col2 包含多个重复值

image - 将 250 多个图像捕捉到每个单元格的一个图像

excel - 用于检查 Excel 2016 中不同 IP 地址的嵌套 If 语句

excel - 按范围查找

excel - 如何跨工作簿 Excel 进行多个 Vlookup