在EXCEL中使用公式的查找表

时间:2014-01-24 15:31:46

标签: excel lookup

我正在构建一个电子表格,它在单元格中使用不同的公式。调用基于公式ID的公式更改。例如,公式查找表如下所示:

Formula ID|Formula
__________+________________
    1     |  y=x+2
__________+________________
    2     |  y=x^2 - 34
__________+________________
    3     |  ...
__________+________________
    ...   |  ...
__________+________________

我的主要工作表如下所示:

   |   A   |   B   |   C
___+_______+_______+________
 1 |   2   |   *** | =if(A1=2, use formula #2, which is "=B1^2-34", "")
                     =if(A1=1, use formula #1, which is "=B1+2", "")
___+_______+_______+________
 2 |   1   |   *** | =if(A1=2, use formula #2, which is "=B2^2-34", "")
                     =if(A1=1, use formula #1, which is "=B2+2", "")
___+_______+_______+________
 3 |   2   |   *** | =if(A1=2, use formula #2, which is "=B3^2-34", "")
                     =if(A1=1, use formula #1, which is "=B3+2", "")

“A”列显示公式ID。 “B”列是“x”的输入。 “C”列是函数“y”。

我只能找到如何在查找表中使用该值,而不是公式。请帮忙。非常感谢。

2 个答案:

答案 0 :(得分:0)

您可以使用简单的用户定义函数:

Function eval(formula As String, r As Range)
    If Left(formula, 1) = "y" Then
        formula = Right(formula, Len(formula) - 1)
    End If
    eval = Evaluate(Replace(formula, "x", r.Address))
End Function

然后在C1中调用它:

=eval(VLOOKUP(A1,Sheet1!$A$1:$B$100,2,0),B1)

其中Sheet1!$A$1:$B$100使用公式

存储您的表格

答案 1 :(得分:0)

如果没有 VBA ,您需要明智地选择()

在C1中,输入:

=CHOOSE(A1,B1^2-34,B1+2)

并复制下来。

展开公式以包含所需数量的案例。