Excel中的EXCEL公式
问题描述:
我希望能够在“主表”中输入公式。调用该公式时,将在调用公式的工作表上执行。Excel中的EXCEL公式
实施例:
Sheet 1 (master sheet)
Col A Col B
ABC A1
DEF A2xA2
GHI A3-A1 * .05
JKL A4+A1
Sheet 2
Col A Col B Col C
5 DEF
10 ABC
15 GHI
20 JKL
因此,我希望发生的是任何我键入到色柱B Sheet 2上,以执行相对于上表1(主片)式到相应的列上表2因此,在上面的例子中,Col 2的Sheet 2的第1行将是25.我正在尝试VLOOKUP
和INDIRECT
的混合。如果它只是单元格引用(例如Sheet1上的ABC),它就可以正常工作。如果我输入其他任何一个,它就会炸毁。由于VLOOKUP
工作正常,有什么可以“执行”公式或评估公式?或者当不仅仅是一个直接的单元格引用时,如何获得间接工作。
我对VBA解决方案不感兴趣,我想使用直线excel功能。
答
这是很容易使用VBA,因为你可以调用Excel的评估功能的模块,它是不可用的,从工作表中创建一个UDF:
Function Eval(ByVal r As Range)
Application.Volatile True
Eval = Evaluate(r.Value)
End Function
然后,如果你有SUM($ A $ 1:$ A $ 10 )作为例如电池C1的文本,在所有你需要做不同的细胞执行该文本作为公式输入:
=Eval(C1)
如果你真的必须避免VBA的评估定义名称时功能可用。因此,具有SUM($ A $ 1:$ A $ 10)上面的例子中C1可以定义一个名为SumCol新名称指的是以下几点:
=Evaluate($C$1)
然后你就可以把SumCol到单元格:
=SumCol
但我想像这样定义一堆名字会变得单调乏味。
+0
真棒回答! –
'INDIRECT'函数使用'Cell Reference'而不是算术函数。检查[this](https://support.office.com/en-us/article/INDIRECT-function-474b3a3a-8a26-4f44-b491-92b6306fa261) –