评估在另一个单元格中定义的公式

9a3*_*edi 4 excel xlm

说我在小区有一个函数的名称A1,如SUM,在某些数据B1C1.有没有办法在一个单元格中定义一个公式,以便它调用在其中定义的公式A1并将其作为数据B1C1作为数据?

因此,像:
=A1(B1:C1)应该等于=SUM(B1:C1)A1包含单词SUM在里面.

基本上,像C中的预处理器宏或函数指针可能.

ass*_*ias 5

您可以通过在模块中创建用户定义的函数来使用vba来执行此操作:

Public Function applyFunction(functionName As Range, argument As Range) As Variant
    applyFunction = Evaluate(functionName & "(" & argument.Address & ")")
End Function
Run Code Online (Sandbox Code Playgroud)

如果你SUM输入A1,并且B1,B2,B3中的1,2,3 =applyFunction(A1,B1:B3)将返回6.它相当于呼叫=SUM(B1:B3).

编辑

如果你真的不想使用VBA,你可以创建一个名称(在excel 2003中插入名称我认为,在Excel 2010中定义名称):

  • 定义一个新名称(比方说eval1)
  • 在引用区域中,输入=EVALUATE(A1&"(B1:B3)"),其中A1包含SUM和B1:B3是具有数字的范围
  • 在一个空白单元格中,键入=eval1并返回结果

但这种方法不够灵活.