我使用 Excel 2010。我想使用在一个单元格中定义的公式,就好像它是一个用户定义的函数一样。
例如:在 A1 中我输入了类似的内容(我知道这不是真正的语法):
= 3 * Input + 15
然后在 B1 中我将像这样使用它:
= A1(10)
在 C1 中:
= A1(20)
我宁愿这样做,而不是诉诸编写 VBA 函数。这可能吗?如果可以,怎么做?
谢谢。
答案1
一种解决方案是使用 Excel 的数据表功能。数据表是可用的假设分析选项之一(在 Excel 2007 中 - 我无法确认这一点,但我认为它仍然在 Excel 2010 中)。以下是如何使用此功能的示例,它应该很有用,因为在我看来,Microsoft 帮助文件的说明很少。
要使用你的例子,你需要计算公式 = 3*X+15 表示几个不同的值X. 其中B1
保存了一些虚拟值X中,输入以下内容C2
:
=3*B1+15
在 B3 及以下,输入X您想要测试的值。
现在您有了数据表的框架,您可以执行假设分析。选择整个表格框架(B2:C8
在此示例中,包括值和公式)。现在,在数据功能区上,选择“假设分析”->“数据表...”。在对话框中,在列输入字段中输入公式引用的虚拟单元格的地址。(如果您的表格是水平设置的而不是垂直设置的,则应在行输入字段中输入地址。)
单击“确定”并观察表中是否填充了每个输入值的相应输出值。
虽然此解决方案可能无法提供 UDF 所提供的灵活性,但我认为它基本上满足了您的要求。您的示例公式很简单,也可以直接填写,但我认为您有理由以这种方式使用公式。数据表非常适合于您有大量依赖于虚拟值的数据的情况,而您想要评估不同值的公式引用了该依赖数据。例如,我使用此功能来生成ROC 曲线通过计算不同阈值的敏感度和特异性来快速实现。
答案2
您可以尝试在公式中使用已定义的名称。定义公式后,您可以按名称重复使用它。添加此功能是为了更轻松地重复使用公式。
以下是 MS Office 网站的链接,了解如何在公式中定义和使用名称。
答案3
在较新的 Excel 函数中,您可以创建 Excel 自定义函数插件!它允许您定义Node.JS 函数并重新使用它们。