是否可以使用VLOOKUP返回公式?

时间:2015-09-18 15:55:56

标签: excel excel-formula vlookup

我在excel 2010工作簿中有一个表(result_master.xls)。列A具有名称,列B具有公式,请参见下面的示例

enter image description here

在另一个工作簿(user_result_sheet.xls)中,我有一个表,我希望使用VLOOKUP从单元格$ A $ 1中的查找值,从其他工作簿中的表数组返回单元格$ B $ 2中的相应公式/ p>

Result sheet image

result_master.xls中的公式将随着时间的推移而发生变化,因此我希望能够在一个地方更新它们,而不是更新将在整个公司网络中分发的60多个user_results_sheet工作簿中的每一个中的公式。 / p>

我的第一次尝试

=VLOOKUP($A$1,[result_master.xlsx]Sheet1!$A$1:$B$4,2,FALSE)

返回0(零),因为它将公式应用于(results_master)工作簿

我需要它将公式应用于(user_result_sheet)工作簿

我尝试使用LEFT,MID和TRIM的不同组合来删除对工作簿/工作表名称的引用,但即使返回了公式的正确部分,它也是一个字符串,然后无法计算。

2 个答案:

答案 0 :(得分:3)

我会使用命名公式(定义名称)将公式存储在一个地方,然后使用CHOOSE选择要返回的命名公式。
CHOOSE使用数字作为其第一个参数,因此您可以使用MATCH进行转换你的公式词选择一个数字。

答案 1 :(得分:2)

您可以编写单个VBA用户定义函数:

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

然后像这样使用它:

在Sheet1中(注意缺少前导等号):

enter image description here

然后在Sheet2中:

enter image description here

将公式=eval(VLOOKUP(Sheet2!A4,Sheet1!$A$1:$B$4,2,FALSE))输入B4并复制下来。