具有一个静态的方程式表(右)。如果实际实施,发布的方程式将具有单元格引用,并且会稍微复杂一些
我希望能够使用=VLOOKUP(C2, F:G, 2, 0)
将方程式导入到左表中。在这种情况下,它将返回=Average(5, 10)
。 但是,我不想让它以文本形式返回,而是希望对方程求值并返回结果(7.5)!。
有什么想法要做到这一点(严格寻求电子表格解决方案)吗?我不确定在没有人工干预的情况下是否可行(粘贴为文本并重新输入确实会导致计算的单元格)
右表中的fromulas都以逗号为前缀,因此excel不会评估它们。 I.E。
'=Average(5, 10)
'=SUM(5, 10)
'=F4+F6
'SQRT(9)
我也尝试过SUBSTITUTE(VLOOKUP(), "'", "")
来删除前缀,但这仍然只是将方程式作为文本返回。
每个区域都需要一个已经很乏味的方程式才能得出正确的结果。因此,我不想创建4个嵌套的IF
语句。对结果进行任何更改都将需要人们研究方程式,以使其极有可能在首次尝试时失败。
答案 0 :(得分:0)
我的想法是从Vlookup转向嵌套if。如果您足够小,就可以做到。我喜欢使用alt + enter将所有内容都分成几行,因此可读性强,并且允许滑动单元格引用:
=If(Cell1=Criteria1,Formula1,
If(Cell1=Criteria1,Formula2,
If(Cell1=Criteria3,Formula3)))
等等。
Excel中的EVALUATE函数由于存在安全漏洞而被删除,您可以利用它劫持计算机,而无需安全功能。
如果您不想执行此操作,则可以使用一个表来计算所有条件,然后在if语句中选择所需的结果。计算更多,但公式却更简单。
编辑:如果您的公式非常简单,则可以使用=Subtotal
,然后返回您要查找的公式类型。例如,如果它是一个平均值,则源表将具有1
,并且您的公式将是= Subtotal(Vlookup(),Range)