Asa*_*saf 7 worksheet-function microsoft-excel microsoft-excel-2010
我使用 excel 2010。我想使用在一个单元格中定义的公式,就好像它是一个用户定义的函数一样。
示例:在 A1 中,我放置了类似的内容(我知道这不是真正的语法):
= 3 * Input + 15
Run Code Online (Sandbox Code Playgroud)
然后在 B1 中,我会像这样使用它:
= A1(10)
Run Code Online (Sandbox Code Playgroud)
在 C1 中:
= A1(20)
Run Code Online (Sandbox Code Playgroud)
我宁愿这样做,而不是诉诸编写 VBA 函数。是否可以?如果是这样,如何?
谢谢。
一种解决方案是使用 Excel 的数据表功能。数据表是可用的假设分析选项之一(在 Excel 2007 中 - 我无法确认这一点,但我假设它仍然在 Excel 2010 中)。以下是如何使用此功能的示例,该功能应该很有用,因为在我看来,Microsoft 帮助文件中的指令很少。
要使用您的示例,您需要针对多个不同的x值计算公式 = 3* x +15 。其中保存x的一些虚拟值,在 中输入以下内容:B1C2
=3*B1+15
Run Code Online (Sandbox Code Playgroud)
在 B3 及下方,输入要测试的x值。

现在您已经有了数据表的框架,您可以执行假设分析。选择整个表格框架(B2:C8在此示例中,其中包括值和公式)。现在,在数据功能区上,选择“假设分析”->“数据表...”。在对话框中,在列输入字段中输入公式引用的虚拟单元格的地址。(如果您的表格是水平设置而不是垂直设置,则应在行输入字段中输入地址。)

单击“确定”并观察表中是否填充了每个输入值的适当输出值。

虽然此解决方案可能无法提供 UDF 所提供的灵活性,但我认为它基本上满足了您的要求。您的示例公式很简单,也可以填写,但我认为您有理由想要以这种方式使用该公式。数据表非常适合以下情况:您有大量依赖于虚拟值的数据,并且您想要计算不同值的公式引用了该依赖数据。例如,我使用此功能通过计算不同阈值的灵敏度和特异性来快速生成ROC 曲线。
| 归档时间: |
|
| 查看次数: |
20663 次 |
| 最近记录: |