是否有可能使用VLOOKUP返回一个公式?

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

在这里输入图像说明

在另一个工作簿(user_result_sheet.xls)中我有一个表,我想要使用VLOOKUP从单元$ B $ 2中的表格数组中返回相应的公式,基于单元格$ A $ 1的查找值

结果表单图像

result_master.xls中的公式将随时间而改变,所以我希望能够在一个位置更新它们,而不是更新将在公司networking上分布的60多个user_results_sheet工作簿中的每个公式。

我第一次尝试

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

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

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

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

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

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

然后像这样使用它:

在Sheet1中(注意没有前导等号):

在这里输入图像说明

然后在Sheet2中:

在这里输入图像说明

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

我将使用命名公式(Defined Names)将公式存储在一个地方,然后使用CHOOSEselect要返回的公式。
select使用一个数字作为它的第一个参数,所以你可以使用MATCH来将你的公式词select转换为数字。